C# 比较IEnumerable字符串与SortedList字符串,字符串
我遇到了一个无法解决的问题。:-)我必须找到包含某个子字符串的所有值,然后我必须返回键和值对。我必须实现一个系统,在这个系统中我必须制作一个分类列表,其中相册是一个类,字符串当然是关键C# 比较IEnumerable字符串与SortedList字符串,字符串,c#,ienumerable,sortedlist,C#,Ienumerable,Sortedlist,我遇到了一个无法解决的问题。:-)我必须找到包含某个子字符串的所有值,然后我必须返回键和值对。我必须实现一个系统,在这个系统中我必须制作一个分类列表,其中相册是一个类,字符串当然是关键 Albums alb = new Albums(); SortedList<string, Albums> list1 = new SortedList<string, Albums>(); 我最后尝试将相册放入LinkedList: LinkedList<string> a
Albums alb = new Albums();
SortedList<string, Albums> list1 = new SortedList<string, Albums>();
我最后尝试将相册放入LinkedList:
LinkedList<string> albm1 = new LinkedList<string>();
LinkedList albm1=新建LinkedList();
我确实使用IEnumerable找到了包含子字符串的所有相册:
string albsearch = textBox16.Text;
IEnumerable<string> result = albm1.Where(s => s.Contains(albsearch));
string albsearch=textBox16.Text;
IEnumerable result=albm1.其中(s=>s.Contains(albsearch));
但我不知道如何将结果与SortedList的值进行比较。我还尝试创建一个新的SortedList,其中包含字符串中的相册:
SortedList<string, string> list2 = new SortedList<string, string>();
SortedList list2=新的SortedList();
如有任何建议,将不胜感激。提前谢谢 [测试]
[Test]
public void Allbum_Search_Test()
{
var searchText = "TestA";
var list1 = new SortedList<string, Albums>
{
{"TestAlbum1", new Albums("TestAlbum1","SomeDate")},
{"TestAlbum2", new Albums("TestAlbum2","SomeDate")},
{"OtherAlbum2", new Albums("OtherAlbum","SomeDate")}
};
var results = list1.Where(pair => pair.Key.Contains(searchText));
Assert.That(results.Count(), Is.EqualTo(2));
}
公共无效所有错误搜索测试()
{
var searchText=“TestA”;
var list1=新分类列表
{
{“TestAlbum1”,新专辑(“TestAlbum1”,“SomeDate”)},
{“TestAlbum2”,新专辑(“TestAlbum2”,“SomeDate”)},
{“OtherAlbum2”,新专辑(“OtherAlbum”,“SomeDate”)}
};
var results=list1.Where(pair=>pair.Key.Contains(searchText));
Assert.That(results.Count(),Is.EqualTo(2));
}
另一方面,我强烈推荐
- 将田地私有化
- 将相册重命名为相册
- 将
类型更改为ReleaseDate
DateTime
- 将
重命名为Albname
AlbumName
SortedList
时,枚举中的每个项都是一个键/值对
我想你想要的是:
Albums alb = new Albums();
SortedList<string, Albums> list1 = new SortedList<string, Albums>();
var foundItems = list1.Where(item => item.Key.Contains(albsearch));
当然,如果您需要的话,可以搜索name1
字段而不是唱片集名称
返回的每个项都是一个键/值对。更准确地说,a.那么您想查找包含特定字符串的所有相册,然后对它们进行排序?关键是什么?谢谢你的回复!该键是一个名称a stringstring name=textBox1.Text;基本上是艺术家或乐队的名字。因为我需要通过专辑找到使用子串的艺术家或乐队非常感谢!它解决了这个问题。:-)再次感谢你!
Albums alb = new Albums();
SortedList<string, Albums> list1 = new SortedList<string, Albums>();
var foundItems = list1.Where(item => item.Key.Contains(albsearch));
var foundItems = list1.Where(item => item.Value.albname.Contains(albsearch));