C# 如何在比较某些字符串后检查listView项?
谁能帮我解决我的小麻烦? 我正在编写一个应用程序来处理文本文件。我有一个GUI,它包含一个列表视图,每个项目都有复选框。 我创建了两个阵列: 第一个用于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>(
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;
}