我有一个类型化的数据集,这个类型的数据集有一些字段:id,Code,Screen,NL,FR ..
我对它进行linq查询,好的.
但我想依赖语言返回:id,Code和NL或id,Code和FR
我试过这样的事情(见下文但没有工作).
var res =
from p in dataTable.AsEnumerable()
where p.Screen.ToUpper() == "WWWWWW" && p.Control.ToUpper() == "OOOO"
select new {p.Id, p.Code, if(lg == "FR") ?? p.FR : p.NL };
Run Code Online (Sandbox Code Playgroud)
谢谢,
好吧,如果两种类型相同,你可以使用条件运算符:
var res = from p in dataTable.AsEnumerable()
where p.Screen.ToUpper() == "WWWWWW" && p.Control.ToUpper() == "OOOO"
select new {p.Id, p.Code, Foo = lg == "FR" ? p.FR : p.NL };
Run Code Online (Sandbox Code Playgroud)
注意你必须如何命名属性,否则C#编译器无法猜出你想要什么.