linq where 00开头的字符串
requests = requests.Where(r => r.submitterid == submitter);这里 submitter 等于 1开头的记录没问题可正常显示,但是有些记录是以00开头的,这就查不出来了。求解答。 --------------------编程问答-------------------- 用 Contains 或者startupwith --------------------编程问答-------------------- submitter是string类型的吗?能出一些示例吗,这样才好确定如何用字符串函数构造Where子句 --------------------编程问答-------------------- submitter 是string 类型。
A B submitter
a b 1100210
a c 00110020
d c 00110020
如上
--------------------编程问答--------------------
试了,都一样,都是以1开头的能查出来,以0开头的查不出来。 --------------------编程问答-------------------- 对于字符串的比较而言,"1100210"与"00110020"是不同的,所以你直接用"=="运算来查询是没法得到00110020的。你可以引入string的TrimStart()方法取掉前面的'0'与空格,再进行"=="比较,象下面这样:
List<string> list = new List<string> { "110020", "00110020", "00110020", "00110025", "110025", "00110026" };
string conditon = "110020";
List<string> result = list.Where(s => s.TrimStart(new char[] { '0', ' ' }) == conditon).ToList<string>();
result.ForEach(r => Console.WriteLine(r));
结果:
110020
00110020
00110020
请按任意键继续. . .
补充:.NET技术 , C#