1

C# でリストを検索し、その値を編集して 5 を見つけ、その値を 9 で変更する方法は?

List<int> myList = new List<int>() { 8, 5, 6, 2, 3 };
4

4 に答える 4

1

状況に応じて、次のようなことを行うことができます

myList = myList.Select(e => e.Equals(5) ? 9 : e).ToList<int>();
于 2012-12-31T00:18:50.950 に答える
0

どういうわけか私はこれ以上良いことは考えられませんでした:

List<int> myList = new List<int>{ 8, 5, 6, 2, 3 };
while (myList.IndexOf(5)!=-1)
{
    myList[myList.IndexOf(5)] = 9;
}

これをExtensionメソッドでラップして、次のように使用できます。

myList.Replace(5, 9);

public static class ListExt
{
    public static void Replace<T>(this List<T> list, T old, T @new)
    {
        for (int index = 0; index < list.Count; index++)
        {
            if(Equals(list[index], old))
                list[index] = @new;
        }
    }
}
于 2012-12-30T23:53:53.230 に答える
0

単純なforループを使用して、現在の要素の値が5に等しいかどうかを確認し、等しい場合は、次のように9に設定します。

for(int i=0; i<myList.Count(); i++)
{
    if(myList[i]==5)
    {
         myList[i]=9;
    }
}
于 2012-12-30T23:56:29.163 に答える
0
Find the "5" element, and change it :
short d = 0;
while ((TheList[d] != 5) && ( d < TheList.Count()))
{
   d++;
}
if (d < TheList.Count())
TheList[d] = 9;
于 2012-12-31T00:08:05.287 に答える