相关疑难解决方法(0)

LINQ:选择对象不包含列表中的项目的位置

我在这里努力学习LINQ语法...以为我会把它丢在这里.我无法找到我正在寻找的其他地方.

好吧,说我有这个:

public class Bar
{
   public int BarId { get; set; }
}

public class Foo
{
   public List<Bar> BarList { get; set; }
}

List<Foo> fooBunch = GetABunchOfFoos(); //let's just assume I'm getting more than one
List<Foo> fooSelect = new List<Foo>;
List<Bar> filterBars = GetAFewBars(); //assume I'm getting like 2 or 3

fooSelect = (from f in fooBunch
             where !(from b in f.BarList select b.BarId).Contains(ITEM FROM filterBars.BarId)
             select f).ToList();
Run Code Online (Sandbox Code Playgroud)

所以,长话短说我想使用LINQ根据另一个列表中的对象过滤掉我的对象列表.我希望这是有道理的.我想我只是迷失在Contains部分......我不知道怎么写.

c# linq

73
推荐指数
4
解决办法
16万
查看次数

Lambda表达式"不在"?

我有一个detailcollection集合,每个细节都有

code, price, name
Run Code Online (Sandbox Code Playgroud)

并带有一些代码的字符串

string codes = "1,2,3";
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用数组 string.Split()

string[] codesarray = codes.Split(',');
Run Code Online (Sandbox Code Playgroud)

但是我如何才能获得产品codes呢?

// the idea I have, but I would not like to have a loop
for (int i = 0; i < codesarray.Length; i++)
{
    detailcollection.Where(x => x.ope_idsku == codesarray[i])
}
Run Code Online (Sandbox Code Playgroud)

我想要像:

detailcollection.Where(x => x.ope_idsku not in (codesarray))
Run Code Online (Sandbox Code Playgroud)

c# lambda compact-framework

20
推荐指数
1
解决办法
3万
查看次数

"用单一呼叫替换"是什么意思?

使用带有Single()的LINQ时,我总是以绿色下划线代码,并提示"将单个调用替换为单个".这是什么意思?以下是产生该建议的一行代码示例:

var user = db.Users.Where(u => u.UserID == userID).Single();
Run Code Online (Sandbox Code Playgroud)

如你所见,我只使用Single()一次.那么......这笔交易是什么?

.net c# linq

19
推荐指数
3
解决办法
9889
查看次数

标签 统计

c# ×3

linq ×2

.net ×1

compact-framework ×1

lambda ×1