class GroupDemo {
static void Main() {
string[] websites = { "hsNameA.com", "hsNameB.net", "hsNameC.net", "hsNameD.com", "hsNameE.org", "hsNameF.org",
"hsNameG.tv", "hsNameH.net", "hsNamel.tv"
};
// -,
// .
var webAddrs = from addr in websites
where addr.LastlndexOf('.')!= -1
group addr by addr.Substring(addr.LastlndexOf('.'));
// , foreach(var sites in webAddrs) {
Console.WriteLine("-, " +
" " + sites.Key); foreach(var site in sites)
Console.WriteLine (" " + site);
Console.WriteLine();
}
}
}
.
-, .
HsNameA. hsNameD.
-, .net hsNameB.net hsNameC.net
hsNameH.net *
-, .org hsNameE.org hsNameF.org
-, .tv hsNameG.tv hsNamel.tv
, , , -. , group .
var webAddrs = from addr in websites
where addr.LastlndexOf('.')!= -1
group addr by addr.Substring(addr.LastlndexOf('.'));
LastlndexOf () Substring (), string. ( 7, . Substring (), , , , , .) - LastlndexOf (). Substring () , . , where , . LastlndexOf () -1, .
, , webAddrs, , foreach. , . foreach I Grouping, . string. sites IGrouping<string, string>, site string. , , .
|
|
foreach(IGrouping<string, string> sites in webAddrs) {
Console.WriteLine("-, " +
" " + sites.Key); foreach(string site in sites)
Console.WriteLine(" " + site);
Console.WriteLine ();
}
into
select group , . into select group. into:
into _
, , _. into select group, , . , .
into, join, , .
, into group. , - . ws , .
// into group.