List<string> strs = new List<string>() { "a", "b", "b", "c" }; var query = from s in strs group s by s.ToString() into g select g.Key; for (var i=0;i<query.Count();i++) { Console.WriteLine("ID={0} Value={1}", i+1,query.ToList()[i]); } /* ID=1 Value=a ID=2 Value=b ID=3 Value=c */
string A = "a"; string B = "b"; string C = "b"; string D = "d"; List<string> list = new List<string>(); list.Add(A); list.Add(B); list.Add(C); list.Add(D); List<string> NewGroup = list.Distinct().ToList<string>(); List<List<string>> GroupStr = new List<List<string>>(); List<string> temp = null; for (int i = 0; i < NewGroup.Count; i++) { int Sum = list.Where(p => p == NewGroup[i]).Count(); temp = new List<string>(); for (int x = 0; x < Sum; x++) { temp.Add(NewGroup[i]); } GroupStr.Add(temp); }
List<string> strs = new List<string>() { "a", "b", "b", "c" }; int i = 0; strs.GroupBy(s => s.ToString()).ToList().ForEach(s => Console.WriteLine("ID={0} Value={1}", i++, s.Key));
linq 不是有 group by 嘛using System.Linq;var originalStrings = new string[] { "a", "b", "b", "c" }; int beginId = 0; var result = originalStrings.GroupBy(s => s).Select(s => new { id=beginId++, elements=s.ToArray() }).ToList(); foreach (var item in result) Console.WriteLine("{0,3}\t{1,3}", item.id, string.Join(",", item.elements));输出: 0 a 1 b,b 2 c
CompareTo
==
都可以啊
String[] q = s.Distinct().ToArray();
list.add("a");
list.add("b");
list.add("b");
list.add("c");
for(i=0;i<list.Count;i++)
{
for(k=list.Count;k<0;k--)
{
if(list[k]==list[i])
{
list.Remove(list[k]);
}
}
}
这样 最后只剩下 3个 元素了 分别是 list[0]"a" list[1]"b" list[2]"c"
var query = from s in strs
group s by s.ToString() into g
select g.Key; for (var i=0;i<query.Count();i++)
{
Console.WriteLine("ID={0} Value={1}", i+1,query.ToList()[i]);
}
/*
ID=1 Value=a
ID=2 Value=b
ID=3 Value=c
*/
string A = "a";
string B = "b";
string C = "b";
string D = "d"; List<string> list = new List<string>();
list.Add(A);
list.Add(B);
list.Add(C);
list.Add(D);
List<string> NewGroup = list.Distinct().ToList<string>(); List<List<string>> GroupStr = new List<List<string>>();
List<string> temp = null;
for (int i = 0; i < NewGroup.Count; i++)
{
int Sum = list.Where(p => p == NewGroup[i]).Count();
temp = new List<string>();
for (int x = 0; x < Sum; x++) {
temp.Add(NewGroup[i]);
}
GroupStr.Add(temp);
}
list.add("a");
list.add("b");
list.add("b");
list.add("c");
for(i=0;i<list.Count;i++)
{
for(k=list.Count;k>0;k--)
{
if(list[k]==list[i])
{
list.Remove(list[k]);
}
}
}
这样 最后只剩下 3个 元素了 分别是 list[0]"a" list[1]"b" list[2]"c"
int i = 0;
strs.GroupBy(s => s.ToString()).ToList().ForEach(s => Console.WriteLine("ID={0} Value={1}", i++, s.Key));
linq 不是有 group by 嘛using System.Linq;var originalStrings = new string[] { "a", "b", "b", "c" };
int beginId = 0;
var result = originalStrings.GroupBy(s => s).Select(s => new { id=beginId++, elements=s.ToArray() }).ToList();
foreach (var item in result)
Console.WriteLine("{0,3}\t{1,3}", item.id, string.Join(",", item.elements));输出:
0 a
1 b,b
2 c