检查List <tuple <t,t =“”>&gt;是空的</tuple <t,>

时间:2015-01-09 10:26:55

标签: c# collections tuples .net-4.5

我想检查List<Tuple<T, T>>是否为空。使用these技术检查List<string>是否为空,我注意到其中一项检查在我的情况下不起作用:

List<Tuple<byte, string>> intermediateResult = new List<Tuple<byte, string>>();

//not working
if(intermediateResult!= null)
    Console.WriteLine("not empty");
else
    Console.WriteLine("empty");

//working
if(intermediateResult.Any())
Console.WriteLine("not empty");
else
Console.WriteLine("empty");

有人能说出第一张支票无效吗?

3 个答案:

答案 0 :(得分:1)

不工作部分的解释: -

它不起作用,因为你是像这样的

你的集合
List<Tuple<byte, string>> intermediateResult = new List<Tuple<byte, string>>();

当你像这样初始化时,intermediateResult不为null。这是真的。

答案 1 :(得分:1)

使用该行检查列表是否已分配。所以你正在检查新命令的正确行为。 空列表仍然在内存中有一个地址。

答案 2 :(得分:0)

这行代码

List<Tuple<byte, string>> intermediateResult = new List<Tuple<byte, string>>();

创建List<Tuple<byte, string>>的新实例并将其分配给intermediateResult - 所以显然intermediateResult在执行此行后不为空。