如何使用C#在列表中搜索并编辑其值 找到有5,用9改变它的值?
List<int> myList = new List<int>() { 8, 5, 6, 2, 3 };
答案 0 :(得分:1)
根据具体情况,你可以做这样的事情
myList = myList.Select(e => e.Equals(5) ? 9 : e).ToList<int>();
答案 1 :(得分: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;
}
}
}
答案 2 :(得分:0)
你可以使用一个简单的for循环并检查当前元素的值是否等于5,如果是这样,只需将其设置为9,如下所示:
for(int i=0; i<myList.Count(); i++)
{
if(myList[i]==5)
{
myList[i]=9;
}
}
答案 3 :(得分: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;