我有这个代码:
int[] g = new int[3] { 1, 2, 3 };
g.ToList().ForEach(f=>Console.Write(f));
Run Code Online (Sandbox Code Playgroud)
对于数组中的每个项目,我想执行Action....
int[]是已经实施Ienumerable.
我想执行一个没有" ToList()" 的动作
是否有任何其他溶液(用一个代码行)(使用其而无需toList?即做IEnumerable特性)
这一定很简单,但我不明白为什么不允许这样做:
var testList = new List<int> { 2, 3, 400, 304, 50, 41 };
testList.Select(x => Console.WriteLine(x));
Run Code Online (Sandbox Code Playgroud)
但这很好:
testList.Select(x => x * 2);
Run Code Online (Sandbox Code Playgroud)
我在哪里误解LINQ导致这种混乱?
我是C#的新手,并试图使用lambda表达式.
我有一个对象列表.我想从列表中选择项目并对所选项目执行foreach操作.我知道我可以在不使用lambda表达式的情况下完成它但是想要使用lambda表达式这是可能的.
所以我试图取得类似的结果
List<UserProfile> users = new List<UserProfile>();
..load users with list of users
List<UserProfile> selecteditem = users.Where(i => i.UserName=="").ToList();
foreach(UserProfile item in selecteditem)
{
item.UserName = "NA";
}
Run Code Online (Sandbox Code Playgroud)
有可能做到
users.Where(i => i.UserName=="").ToList().ForEach(i=>i.UserName="NA");
Run Code Online (Sandbox Code Playgroud)
但不是这样的
users.select(i => i.UserName=="").ForEach(i=>i.UserName="NA");
Run Code Online (Sandbox Code Playgroud)
有人可以解释这种行为..
所以我有这样的代码:
foreach (var optionValues in productOption.ProductOptionValues)
{
if (optionValues.ProductOptionValueID > 0)
{
unitOfWork.ProductContext.Entry(optionValues).State = EntityState.Modified;
}
else
{
unitOfWork.ProductContext.Entry(optionValues).State = EntityState.Added;
}
}
Run Code Online (Sandbox Code Playgroud)
对此的代码审查是我应该看看使用LINQ来做到这一点.
有人可以指点我可以解释使用LINQ更改对象属性的资源吗?
我有这个代码将在Distinct()将返回的每个对象上执行Console.WriteLine(x).
objects.Distinct().ToList().ForEach(x => Console.WriteLine(x));
Run Code Online (Sandbox Code Playgroud)
但是,如何在不使用ToList()的情况下实现相同的功能?
我想用LINQ ForEach()表达式替换以下代码中的foreach循环:
List<int> idList = new List<int>() { 1, 2, 3 };
IEnumerable<string> nameList = new List<string>();
foreach (int id in idList)
{
var Name = db.Books.Where(x => x.BookId == id).Select(x => x.BookName);
nameList.Add(Name);
}
Run Code Online (Sandbox Code Playgroud)
任何帮助请!!
假设我有以下char数组:
char[] c = new char[] { 'G', 'R', 'D', 'D', 'G', 'R', 'R', 'C', 'D', 'G', 'R', 'R', 'C', 'G', 'R', 'D', 'D', 'G', 'R', 'R', 'C', 'D', 'G', 'R', 'R', 'C' };
c.OrderBy(y => y).ForEach(x => Console.WriteLine(x));
//CCCCDDDDDDGGGGGGRRRRRRRRRR
Run Code Online (Sandbox Code Playgroud)
如何使用linq生成以下订单?
//DDDDDDGGGGGGRRRRRRRRRRCCCC
Run Code Online (Sandbox Code Playgroud)