最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

通過LinQ查詢字符出現(xiàn)次數(shù)的實(shí)例方法

 更新時(shí)間:2013年11月19日 09:10:21   作者:  
這篇文章主要介紹了通過LinQ查詢字符出現(xiàn)次數(shù)的實(shí)例方法,大家參考使用吧

在一個(gè)項(xiàng)目中使用到一個(gè)問卷調(diào)查,在用戶完成之后,需要統(tǒng)計(jì)所有題目中哪一個(gè)選項(xiàng)被選中次數(shù)最多。
我的實(shí)現(xiàn)方法是將所有題目選中的選項(xiàng)拼接為一個(gè)字符串,如:ABCADAA
在分析被選中次數(shù)的時(shí)候最初是將字符串變?yōu)樽址麛?shù)組,然后進(jìn)行遍歷統(tǒng)計(jì),代碼如下:

復(fù)制代碼 代碼如下:

public static int GetMaxDiaplayChar(string str, out string val)
{
    int times = 0;
    val = "";
    char max = str[0];
    Dictionary<char, int> counter = new Dictionary<char, int>();
    foreach (char c in str)
    {
        if (!char.IsLetter(c)) continue;
        if (counter.ContainsKey(c)) counter[c]++;
        else counter.Add(c, 1);
        if (counter[max] < counter[c]) max = c;
    }
    times = counter[max];
    val = max.ToString();
    return times;
}

這樣進(jìn)行統(tǒng)計(jì)效率一般,且感覺有些太復(fù)雜了,于是在后期使用LinQ來(lái)進(jìn)行改進(jìn),實(shí)現(xiàn)方法如下:

復(fù)制代碼 代碼如下:

string content = "ABCADAA";
var ch = content.ToCharArray();
var query = ch.GroupBy(s => s).OrderByDescending(s => s.Count()).ToList();
for (int ri = 0; ri < query.Count(); ri++)
{
    MessageBox.Show(query[ri].Key + " = " + query[ri].Count());
}

這樣就可以比較簡(jiǎn)單的統(tǒng)計(jì)具體出現(xiàn)次數(shù),如果需要對(duì)出現(xiàn)最少或者最多的字符進(jìn)行統(tǒng)計(jì),只需要對(duì)OrderBy和ToList進(jìn)行修改就可以,比較靈活。

復(fù)制代碼 代碼如下:

var queryMax = ch.GroupBy(s => s).OrderByDescending(s => s.Count()).SingleOrDefault();
var queryMin = ch.GroupBy(s => s).OrderBy(s => s.Count()).SingleOrDefault();

相關(guān)文章

  • 通過容器擴(kuò)展屬性IExtenderProvider實(shí)現(xiàn)WinForm通用數(shù)據(jù)驗(yàn)證組件

    通過容器擴(kuò)展屬性IExtenderProvider實(shí)現(xiàn)WinForm通用數(shù)據(jù)驗(yàn)證組件

    這篇文章介紹了通過容器擴(kuò)展屬性IExtenderProvider實(shí)現(xiàn)WinForm通用數(shù)據(jù)驗(yàn)證組件的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • C# Winform實(shí)現(xiàn)表格復(fù)制粘貼效果

    C# Winform實(shí)現(xiàn)表格復(fù)制粘貼效果

    這篇文章主要為大家學(xué)習(xí)介紹了如何通過C# Winform實(shí)現(xiàn)表格復(fù)制粘貼效果,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,需要的可以了解一下
    2023-07-07
  • c#實(shí)現(xiàn)斷點(diǎn)續(xù)傳功能示例分享

    c#實(shí)現(xiàn)斷點(diǎn)續(xù)傳功能示例分享

    這篇文章主要介紹了c#實(shí)現(xiàn)的斷點(diǎn)續(xù)傳功能示例,斷點(diǎn)續(xù)傳就是在上一次下載時(shí)斷開的位置開始繼續(xù)下載。在HTTP協(xié)議中,可以在請(qǐng)求報(bào)文頭中加入Range段,來(lái)表示客戶機(jī)希望從何處繼續(xù)下載,下面是示例,需要的朋友可以參考下
    2014-03-03
  • c# 如何使用結(jié)構(gòu)體實(shí)現(xiàn)共用體

    c# 如何使用結(jié)構(gòu)體實(shí)現(xiàn)共用體

    這篇文章主要介紹了c# 如何使用結(jié)構(gòu)體實(shí)現(xiàn)共用體,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-04-04
  • 深入委托與多播委托的詳解

    深入委托與多播委托的詳解

    本篇文章是對(duì)委托與多播委托進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • C#中的where泛型約束介紹

    C#中的where泛型約束介紹

    這個(gè)關(guān)于泛型約束的東西我看了幾天了。一直沒打看懂,我的領(lǐng)悟能力有點(diǎn)差,剛才突然明白了一點(diǎn)
    2013-04-04
  • c#基礎(chǔ)系列之ref和out的深入理解

    c#基礎(chǔ)系列之ref和out的深入理解

    有過C#基礎(chǔ)知識(shí)的都應(yīng)該清楚Ref和Out的使用方法,所以下面這篇文章主要給大家介紹了關(guān)于c#基礎(chǔ)系列之ref和out的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • WPF實(shí)現(xiàn)列表分頁(yè)控件的示例代碼

    WPF實(shí)現(xiàn)列表分頁(yè)控件的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用WPF實(shí)現(xiàn)列表分頁(yè)控件,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以了解一下
    2022-10-10
  • WCF基礎(chǔ)介紹并創(chuàng)建簡(jiǎn)單應(yīng)用程序

    WCF基礎(chǔ)介紹并創(chuàng)建簡(jiǎn)單應(yīng)用程序

    這篇文章介紹了WCF基礎(chǔ)并創(chuàng)建簡(jiǎn)單WCF應(yīng)用程序,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • C#操作windows注冊(cè)表的方法

    C#操作windows注冊(cè)表的方法

    這篇文章主要介紹了C#操作windows注冊(cè)表的方法,涉及C#針對(duì)注冊(cè)表的讀取與寫入技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04

最新評(píng)論

龙州县| 乐都县| 泽州县| 石河子市| 沧源| 阆中市| 怀远县| 新乐市| 新干县| 金秀| 岢岚县| 呼伦贝尔市| 新乐市| 应用必备| 昌都县| 溆浦县| 浮梁县| 桃江县| 德化县| 凤庆县| 五峰| 上思县| 富源县| 石狮市| 连城县| 汉沽区| 渝中区| 蓬莱市| 松潘县| 尼勒克县| 玛多县| 浪卡子县| 建水县| 陇川县| 类乌齐县| 文登市| 土默特左旗| 大渡口区| 荣昌县| 长治县| 阿拉善盟|