当前位置: 代码迷 >> C# >> 请教这是为什么呢
  详细解决方案

请教这是为什么呢

热度:37   发布时间:2016-05-05 03:40:05.0
请问这是为什么呢
List<string[]> ceshi = new List<string[]>();
string[] ceshi1 = { "s1", "s2", "s3" }, ceshi2 = { "s1", "s2", "s3" };
ceshi.Add(ceshi1);
Console.WriteLine(ceshi.Contains(ceshi1) + "-" + ceshi.Contains(ceshi2));

输出的结果是:True-False,ceshi1和ceshi2是相同的啊,为什么返回的结果不同呢?
------解决思路----------------------
List<>.Contains,确定某元素是否在 List 中
针对值类型,是按值检索是否相同
针对引用类型,是检索对象是否存在

string[]是引用类型,ceshi1、ceshi2对应不同的地址空间
  相关解决方案