[英]distinct() method for unique strings in a list C#
我對C#中的方法distinct()有疑問。 我有一個字符串列表。
List <string> stringtxt = stringtxt.distinct().ToList();
例如,我的stringtxt列表中的字符串為:
"A"
"B"
"C"
"B"
"E"
我如何實現這一點,即我只能得到輸出“ A”,“ B”,“ C”,“ E”。 不使用接口“ IEquatable”或任何HashCode。 我用一個foreach循環來解決這個問題。
foreach(var stringitem in stringtxt)
{
tb.text = stringitem;
}
但是我不確定這是否是解決此問題的最佳方法。
從下面的評論:
對不起,我想問一個易於理解的問題:D再次,這是我的代碼:
List<string> stringvalues = new List<string>();
stringvalues.Add("A");
stringvalues.Add("ccc");
stingvalues.Add("B");
stingvalues.Add("B");
stingvalues.Add("E");
stringvalues.Add("hello");
List<string> stringtxt = stringvalues.Distinct().ToList();
//Output
A,ccc,B,E,hello
我看到您只需要將非重復列表放回字符串? 然后,您只需要下面的最后一行:
List<string> stringtxt = new List<string>()
{
"A",
"B",
"C",
"B",
"E"
};
stringtxt = stringtxt .Distinct().ToList(); // avoid redeclaring stringtxt as List<string>
// combine the stringlist into a string with , separator
string output = string.Join(",", distinctStringList );
創建一個hashtable
,使用foreach
所有字符串,然后嘗試添加它。 如果失敗,請忽略該錯誤。 最后,只需打印哈希表中的所有元素。
例如 :
Hashtable hash= new Hashtable();
foreach (var s in your_list)
{
try
{
hash.Add(s, s);
}
catch
{
// will happen if exists
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.