怎么快速判断List[6]里面的值都是null?

bianjijianjie 2010-10-28 08:12:26
程序原代码是这样的:

string[] list=new list[6];
while(reader.Read())
{
for(int i=0;i<6;i++)
{
list[i]=reader[i].Tostring();
}
}
return list;
//程序执行到这会出现这样一个问题,如果reader.Read()没读到的话就会返回一个 空的list[6]
//每个list[i]都会等于null 如果正常读到就没问题,list[i]都会有值,怎么知道没有读到的?
//就是 怎么知道list是 空的?
//我曾经视图用list.Length来判断 但他的值会是6,判断不出到底是不是空的list
...全文
1549 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
bianjijianjie 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 wuyq11 的回复:]
3.5 LINQ 操作
[/Quote]
太简洁了 啊, 解释一下 吧?如梦大哥?
wuyq11 2010-10-28
  • 打赏
  • 举报
回复
3.5 LINQ 操作
rczjp 2010-10-28
  • 打赏
  • 举报
回复
string[] list = new string[] { null, null, null }; 返回True
All()就是说全满足就返回True
rczjp 2010-10-28
  • 打赏
  • 举报
回复
string[] list = new string[] { null, null, "a" };

var l = from s in list select s;

Console.WriteLine(l.All(o => o == null));//False
phil999 2010-10-28
  • 打赏
  • 举报
回复
Sorry,换用 List<string> 之后,读不成功的时候,其元素个数为 0。string[] 上也可以用 trueforall,调用方法略有不同:

bool empty = Array.TrueForAll(list, x=>x==null);
phil999 2010-10-28
  • 打赏
  • 举报
回复
换用 List<string> ,而不是 string[]

bool empty = list.TrueForAll(x=>x==null);
兔子-顾问 2010-10-28
  • 打赏
  • 举报
回复
如果定死是6个,那直接写死最快了。
if(List[0]==null||List[1]==null||List[2]==null||List[3]==null||List[4]==null||List[5]==null)
{
return;
}
bianjijianjie 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
var result=from q in list where q==null select q;
[/Quote]

然后怎么判断这个list 是 null啊?
rczjp 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
var result=from q in list where q==null select q;
[/Quote]嗯,可以看这个
bianjijianjie 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 kokorenfeng 的回复:]
string[] list=new list[6];
string str="";
for(int i=0;i<6;i++)
{
str+=list[i];
}
if(str!=null){
//操作
}
[/Quote]
不要 改变我的方法啊,我 的方法 返回 list[]数组已经是固定了 的 ,现在就是判断list数组的值全为空。
怎么做?
kokorenfeng 2010-10-28
  • 打赏
  • 举报
回复
string[] list=new list[6];
string str="";
for(int i=0;i<6;i++)
{
str+=list[i];
}
if(str!=null){
//操作
}
机器人 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 imsasuke 的回复:]
引用 6 楼 fangxinggood 的回复:
C# code

string[] list=new list[6];
bool readSucceed = false;
while(reader.Read())
{
readSucceed = true;
for(int i=0;i<6;i++)
{
list[i]=reader[i].Tostring();……
[/Quote]

这个很简单, 再加上一句

if (!readSucceed)
list = null;
机器人 2010-10-28
  • 打赏
  • 举报
回复
还是用List<String>更好:

List<string> data = new List<string>();
while(reader.Read())
{
for(int i=0; i<6; i++)
{
data.Add(reader[i].Tostring());
}
}

if (data.Count > 0)
// 有值
else
// 没值



bianjijianjie 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fangxinggood 的回复:]
C# code

string[] list=new list[6];
bool readSucceed = false;
while(reader.Read())
{
readSucceed = true;
for(int i=0;i<6;i++)
{
list[i]=reader[i].Tostring();
}
}
[/Quote]
不 能这样,因为我的list是返回到另外一个页面的,所以现在是 当当就 问题,怎么判断list[i]为null这个问题做处理...
bianjijianjie 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
var result=from q in list where q==null select q;
[/Quote]
这个怎么用的?
机器人 2010-10-28
  • 打赏
  • 举报
回复

string[] list=new list[6];
bool readSucceed = false;
while(reader.Read())
{
readSucceed = true;
for(int i=0;i<6;i++)
{
list[i]=reader[i].Tostring();
}
}
bianjijianjie 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 claymore1114 的回复:]
加个if 判断是否为空啊

C# code

foreach (var item in list)
{
if (item != null)
Console.WriteLine(item);
}
[/Quote]
这样的话效率很低 因为 每个list的item都要去遍历, 我 想要效率高些的 ,怎么弄?
bianjijianjie 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 liangchencf 的回复:]
用List<string>代替string[]
[/Quote]
用这个怎么弄?
claymore1114 2010-10-28
  • 打赏
  • 举报
回复
加个if 判断是否为空啊

foreach (var item in list)
{
if (item != null)
Console.WriteLine(item);
}
liangchencf 2010-10-28
  • 打赏
  • 举报
回复
用List<string>代替string[]
加载更多回复(1)

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧