C# 是否可以返回列表中的项目以用于其他方法?
团结一致地工作 如果这看起来很可笑,或者如果答案很明显,那么我很抱歉 我有一个foreach循环,它循环遍历列表中的某些项,但只有某些对象受一组进一步说明的约束: (randomValues是一个整数数组,它存储七个随机数,列表中的每个项都有一个ID。) 我想用其他方法处理任何项目。因此,我考虑将该项作为方法的参数传递出去,但后来意识到我不知道该怎么做,我甚至不知道这样的事情是否可能 给你C# 是否可以返回列表中的项目以用于其他方法?,c#,list,methods,parameters,C#,List,Methods,Parameters,团结一致地工作 如果这看起来很可笑,或者如果答案很明显,那么我很抱歉 我有一个foreach循环,它循环遍历列表中的某些项,但只有某些对象受一组进一步说明的约束: (randomValues是一个整数数组,它存储七个随机数,列表中的每个项都有一个ID。) 我想用其他方法处理任何项目。因此,我考虑将该项作为方法的参数传递出去,但后来意识到我不知道该怎么做,我甚至不知道这样的事情是否可能 给你 var tempList=new List<int>();//assuming int val
var tempList=new List<int>();//assuming int values in list
foreach (var item in itemsList)
{
if(randomValues.Contains(item.itemID))
{
tempList.Add(item); //add item to temp list
//some code
}
}
return tempList;
var templast=newlist()//假设列表中的int值
foreach(项目列表中的var项目)
{
if(randomValues.Contains(item.itemID))
{
templast.Add(item);//将item添加到临时列表
//一些代码
}
}
返回圣殿骑士;
给你
var tempList=new List<int>();//assuming int values in list
foreach (var item in itemsList)
{
if(randomValues.Contains(item.itemID))
{
tempList.Add(item); //add item to temp list
//some code
}
}
return tempList;
var templast=newlist()//假设列表中的int值
foreach(项目列表中的var项目)
{
if(randomValues.Contains(item.itemID))
{
templast.Add(item);//将item添加到临时列表
//一些代码
}
}
返回圣殿骑士;
给你
var tempList=new List<int>();//assuming int values in list
foreach (var item in itemsList)
{
if(randomValues.Contains(item.itemID))
{
tempList.Add(item); //add item to temp list
//some code
}
}
return tempList;
var templast=newlist()//假设列表中的int值
foreach(项目列表中的var项目)
{
if(randomValues.Contains(item.itemID))
{
templast.Add(item);//将item添加到临时列表
//一些代码
}
}
返回圣殿骑士;
给你
var tempList=new List<int>();//assuming int values in list
foreach (var item in itemsList)
{
if(randomValues.Contains(item.itemID))
{
tempList.Add(item); //add item to temp list
//some code
}
}
return tempList;
var templast=newlist()//假设列表中的int值
foreach(项目列表中的var项目)
{
if(randomValues.Contains(item.itemID))
{
templast.Add(item);//将item添加到临时列表
//一些代码
}
}
返回圣殿骑士;
取决于对象/方法的结构。是否需要将单个项传递给方法
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
SomeOtherMethod(item);
您是否需要此当前方法来筛选列表,使其只包含以后应传递给另一个方法的列表
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
yield return item;
var matchingItems = new List<SomeType>();
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
matchingItems.Add(item);
SomeOtherMethod(matchingItems);
是否需要将此方法中的匹配项列表传递给另一个方法
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
yield return item;
var matchingItems = new List<SomeType>();
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
matchingItems.Add(item);
SomeOtherMethod(matchingItems);
等等……取决于对象/方法的结构。是否需要将单个项传递给方法
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
SomeOtherMethod(item);
您是否需要此当前方法来筛选列表,使其只包含以后应传递给另一个方法的列表
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
yield return item;
var matchingItems = new List<SomeType>();
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
matchingItems.Add(item);
SomeOtherMethod(matchingItems);
是否需要将此方法中的匹配项列表传递给另一个方法
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
yield return item;
var matchingItems = new List<SomeType>();
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
matchingItems.Add(item);
SomeOtherMethod(matchingItems);
等等……取决于对象/方法的结构。是否需要将单个项传递给方法
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
SomeOtherMethod(item);
您是否需要此当前方法来筛选列表,使其只包含以后应传递给另一个方法的列表
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
yield return item;
var matchingItems = new List<SomeType>();
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
matchingItems.Add(item);
SomeOtherMethod(matchingItems);
是否需要将此方法中的匹配项列表传递给另一个方法
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
yield return item;
var matchingItems = new List<SomeType>();
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
matchingItems.Add(item);
SomeOtherMethod(matchingItems);
等等……取决于对象/方法的结构。是否需要将单个项传递给方法
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
SomeOtherMethod(item);
您是否需要此当前方法来筛选列表,使其只包含以后应传递给另一个方法的列表
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
yield return item;
var matchingItems = new List<SomeType>();
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
matchingItems.Add(item);
SomeOtherMethod(matchingItems);
是否需要将此方法中的匹配项列表传递给另一个方法
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
yield return item;
var matchingItems = new List<SomeType>();
foreach (var item in itemsList)
if (randomValues.Contains(item.itemID))
matchingItems.Add(item);
SomeOtherMethod(matchingItems);
以此类推……
var itemslection=itemsList.Where(i=>randomValues.Contains(i.itemsid)).ToList()
var itemsCopy=itemsList.Where(i=>randomValues.Contains(i.itemID)).ToList()
var itemsCopy=itemsList.Where(i=>randomValues.Contains(i.itemID)).ToList()
var itemsCopy=itemsList.Where(i=>randomValues.Contains(i.itemID)).ToList()代码>您可以使用以下代码:
return itemList.where (item => randomValues.Contains(item.itemID));
我选择不使用ToList()以从延迟评估中获益。您可以使用以下代码:
return itemList.where (item => randomValues.Contains(item.itemID));
我选择不使用ToList()以从延迟评估中获益。您可以使用以下代码:
return itemList.where (item => randomValues.Contains(item.itemID));
我选择不使用ToList()以从延迟评估中获益。您可以使用以下代码:
return itemList.where (item => randomValues.Contains(item.itemID));
我选择不使用ToList()来受益于懒惰的评估。不清楚您想做什么(或者Unity是否相关)。您正在尝试将列表中的项传递给此方法还是将项传递给另一个方法?将//不相关的代码
替换为其他方法(项)
尝试使用Linq:
@DmitryBychenko如果循环中有大量逻辑,并且如果在foreach循环之外调用它,那么这可能不适用,您将重复两次。您遵循了正确的思维过程——通过返回值的子集,您增加了代码的模块化程度。通过让您的方法创建一个新对象并返回它,而不是修改一个全局集合,您可以使您的方法成为一个纯方法,这是一件美妙的事情。不清楚您试图做什么(或者Unity是否相关)。您正在尝试将列表中的项传递给此方法还是将项传递给另一个方法?将//不相关的代码
替换为其他方法(项)
尝试使用Linq:
@DmitryBychenko如果循环中有大量逻辑,并且如果在foreach循环之外调用它,那么这可能不适用,您将重复两次。您遵循了正确的思维过程——通过返回值的子集,您增加了代码的模块化程度。通过让您的方法创建一个新对象并返回它,而不是修改一个全局集合,您可以使您的方法成为一个纯方法,这是一件美妙的事情。不清楚您试图做什么(或者Unity是否相关)。您正在尝试将列表中的项传递给此方法还是将项传递给另一个方法?将//不相关的代码
替换为其他方法(项)
尝试使用Linq:类似于项列表。其中(项=>随机值。包含(项。项ID))
@DmitryBychenko,如果存在较大的