C# 。除了进入列表视图之外

C# 。除了进入列表视图之外,c#,winforms,linq,listview,except,C#,Winforms,Linq,Listview,Except,我有两张单子 public IList<string> List1 { get; set; } public IList<string> List2 { get; set; } 我得到的输出是“System.Linq.Enumerable+d_u72'1[System.String]” 我知道我做错了什么,但我不知道是什么原因。谁能给我指出正确的方向吗 提前谢谢 您能试试这个吗(假设您想在一行中显示一个字符串,尽管不使用ListBox很奇怪): private void

我有两张单子

public IList<string> List1 { get; set; }
public IList<string> List2 { get; set; }
我得到的输出是“System.Linq.Enumerable+d_u72'1[System.String]”

我知道我做错了什么,但我不知道是什么原因。谁能给我指出正确的方向吗

提前谢谢

您能试试这个吗(假设您想在一行中显示一个字符串,尽管不使用ListBox很奇怪):

private void按钮1\u单击(对象发送者,事件参数e)
{
//添加列,这可能是在designer中完成的
//this.testListView.Columns.Add。。。
this.testListView.View=View.Details;
var list=List1.Except(List2.ToList();
for(int i=0;i
您能试试这个吗(假设您想在一行中显示一个字符串,尽管不使用ListBox很奇怪):

private void按钮1\u单击(对象发送者,事件参数e)
{
//添加列,这可能是在designer中完成的
//this.testListView.Columns.Add。。。
this.testListView.View=View.Details;
var list=List1.Except(List2.ToList();
for(int i=0;i
Except之后为什么要执行ToString()?您可以执行ToList()。@ChetanRanpariya我尝试了它,在第二行代码中,我得到一个错误,即无法将
System.Collections.Generic.List转换为“string”
是否要在ListView中添加
List
变量的项?然后你应该循环浏览
列表的项目
并将它们逐个添加到列表视图中。@ChetanRanpariya是的,我想将它们添加到列表中。我在将变量
list
添加到
newlistviewItem(list)
时遇到问题。当我使用
.ToList()
时,为什么要在Except之后执行ToString()?您可以执行ToList()。@ChetanRanpariya我尝试了它,在第二行代码中,我得到一个错误,即无法将
System.Collections.Generic.List转换为“string”
是否要在ListView中添加
List
变量的项?然后你应该循环浏览
列表的项目
并将它们逐个添加到列表视图中。@ChetanRanpariya是的,我想将它们添加到列表中。我在将变量
list
添加到
新的ListViewItem(list)
时遇到问题。当我使用
.ToList()
是时,我遇到上述错误-您应该始终测试类似的条件并处理它们。例如,
if(list.Count==0)返回
@Dazzler更新了,顺便说一下,我不知道你的列表会是什么样子。@LeiYang谢谢你,修复了
ArgumentOutOfRangeException
。但我只能在列表中看到1项,即,
list[0]
。我错过什么了吗?listview只包含1列和大约300个
string
类型的条目。列表不仅仅是一行,而是多行。@LeiYang感谢您的更新和回答:)是的-您应该始终测试这样的条件并处理它们。例如,
if(list.Count==0)返回
@Dazzler更新了,顺便说一下,我不知道你的列表会是什么样子。@LeiYang谢谢你,修复了
ArgumentOutOfRangeException
。但我只能在列表中看到1项,即,
list[0]
。我错过什么了吗?listview只包含1列和大约300个
string
类型的条目。列表不仅仅是一行,而是多行。@LeiYang感谢您的更新和答案:)
var list = List1.Except(List2).ToString();
ListViewItem listView = new ListViewItem(list);
this.testListView.Items.Add(listView);
    private void button1_Click(object sender, EventArgs e)
    {
        //add Columns, which you might have done in designer
        //this.testListView.Columns.Add...
        this.testListView.View = View.Details;
        var list = List1.Except(List2).ToList();
        for (int i = 0; i < list.Count; i++)
        {
            ListViewItem item = new ListViewItem(list[i]);
            this.testListView.Items.Add(item);
        }
    }