当前位置:编程学习 > C#/ASP.NET >>

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

如上

--------------------编程问答--------------------
引用楼主 tradesignal 的回复:
requests = requests.Where(r => r.submitterid == submitter);

这里 submitter 等于 1开头的记录没问题可正常显示,但是有些记录是以00开头的,这就查不出来了。求解答。


试了,都一样,都是以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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,