林克钥匙的用途是什么
本文关键字:是什么 钥匙 林克 | 更新日期: 2023-09-27 18:21:06
linq中键的用途是什么?我不确定它的目的是什么?它做什么?它如何影响代码的运行方式?
else if (statType.Equals("Stat07"))
{
//Score Stats by School
{
q = from t in dbsRound
orderby t.RoundNumber
group t by t.Contestant.School into g
select new
{
School = g.Key,
MaxScore = (from gr in g select gr.ScoreTotal).Max(),
MinScore = (from gr in g select gr.ScoreTotal).Min(),
AverageScore = (from gr in g select gr.ScoreTotal).Average()
};
GvStats.DataSource = q.ToList<dynamic>();
}
}
关键是团队中常见的东西。
例如,如果你有一个单词序列,并想将所有单词的第一个字母分组,那么你就有一个以字母"a"开头的单词组,以及一个以单词"b"开头的词组等等。
或者,如果你将你的单词序列分组为具有相同字符数的单词组,那么你就有一组只有一个字符的单词和一组有两个字符的词,一组有三个字符等。
关键字是你用来分组的东西。所以关键字是第一个字母或单词,或者当你按字符数分组时,单词中的字母数。
您可以使用密钥来识别组。因此,如果你想要一个以字母"h"开头的单词的组,你就说你想要组序列中键等于"h"的元素。如果你按字符数分组,你可以要求用键4分组,以获得所有四个字母的单词。
组密钥是唯一的。你可能确信只有一个这样的元素,所以你可以要求第一个(或者默认,如果没有这样的组)
示例:下载荷马的《伊利亚特》一书,并将结果分成一系列单词:
var uri = "http://www.gutenberg.org/files/6130/6130-0.txt";
var iliadWords = new String(
new WebClient().DownloadString(uri)
.Select(token => char.IsLetter(token) ? token : ' ')
.ToArray())
.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
var wordsGroupedByFirstLetter = iliadWords
.GroupBy(word => word.FirstOrDefault());
IEnumerable<string> allWordsStartingWithX = wordsGroupedByFirstLetter
.FirstOrDefault(group => group.key == 'X');