Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在比较某些字符串后检查listView项?_C#_String_Listview_Compare - Fatal编程技术网

C# 如何在比较某些字符串后检查listView项?

C# 如何在比较某些字符串后检查listView项?,c#,string,listview,compare,C#,String,Listview,Compare,谁能帮我解决我的小麻烦? 我正在编写一个应用程序来处理文本文件。我有一个GUI,它包含一个列表视图,每个项目都有复选框。 我创建了两个阵列: 第一个用于listView中的项目,第二个用于文本文件中的所有行 string[] itemInList = new string[] { listView1.Items.ToString() string[] lineInHosts = File.ReadAllLines(C:\Test.txt).ToArray<string>(

谁能帮我解决我的小麻烦? 我正在编写一个应用程序来处理文本文件。我有一个GUI,它包含一个列表视图,每个项目都有复选框。 我创建了两个阵列: 第一个用于listView中的项目,第二个用于文本文件中的所有行

   string[] itemInList = new string[] { listView1.Items.ToString()
   string[] lineInHosts = File.ReadAllLines(C:\Test.txt).ToArray<string>();

但它不起作用。

这句话看起来可疑:)

itemInList中只有一个项,它将像您的类型一样被调用。 而是使用:

string[] itemInList = listView1.Items.Select(x => x.ToString()).ToArray();

第一条线路应不同,第二条线路效率不高:

string[] itemInList =  listView1.Items.OfType<ListViewItem>( ).Select( p => p.Text ).ToArray( );
string[] lineInHosts = File.ReadAllLines( @"C:\Test.txt" ).ToArray<string>( );

string itemName;
ListViewItem foundItem;

foreach ( var item in itemInList )
{
     if (lineInHosts.Contains(item))
     {
         itemName = item.ToString( );
         foundItem = listView1.FindItemWithText( itemName );
         foundItem.Checked = true;                    
     }
}
string[]itemInList=listView1.Items.OfType().Select(p=>p.Text.ToArray();
字符串[]lineInHosts=File.ReadAllLines(@“C:\Test.txt”).ToArray();
字符串itemName;
ListViewItemFoundItem;
foreach(itemInList中的变量项)
{
if(lineInHosts.Contains(项目))
{
itemName=item.ToString();
foundItem=listView1.FindItemWithText(itemName);
foundItem.Checked=true;
}
}

尝试下面的答案,希望它能节省别人的时间

    foreach (var room in customerRooms)
{
 lstViewRooms.Items.Cast<ListViewItem>().Where(x =>.Text.Contains(room.Room.ToString())).FirstOrDefault().Selected = true;
}
foreach(CustomerRoom中的var房间)
{
lstViewRooms.Items.Cast().Where(x=>.Text.Contains(room.room.ToString()).FirstOrDefault().Selected=true;
}

“不工作”不是错误描述!你有例外吗?编译器错误?没有错误,也没有异常。listView1.Items.Select(x=>x.ToString())---没有“Select”方法。在顶部使用System.Linq添加是的,我忘记了。of type()
string[] itemInList =  listView1.Items.OfType<ListViewItem>( ).Select( p => p.Text ).ToArray( );
string[] lineInHosts = File.ReadAllLines( @"C:\Test.txt" ).ToArray<string>( );

string itemName;
ListViewItem foundItem;

foreach ( var item in itemInList )
{
     if (lineInHosts.Contains(item))
     {
         itemName = item.ToString( );
         foundItem = listView1.FindItemWithText( itemName );
         foundItem.Checked = true;                    
     }
}
    foreach (var room in customerRooms)
{
 lstViewRooms.Items.Cast<ListViewItem>().Where(x =>.Text.Contains(room.Room.ToString())).FirstOrDefault().Selected = true;
}