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

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

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

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

復(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)計效率一般,且感覺有些太復(fù)雜了,于是在后期使用LinQ來進(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());
}

這樣就可以比較簡單的統(tǒng)計具體出現(xiàn)次數(shù),如果需要對出現(xiàn)最少或者最多的字符進(jìn)行統(tǒng)計,只需要對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ì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • C# Winform實(shí)現(xiàn)表格復(fù)制粘貼效果

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

    這篇文章主要為大家學(xué)習(xí)介紹了如何通過C# Winform實(shí)現(xiàn)表格復(fù)制粘貼效果,文中的示例代碼講解詳細(xì),具有一定的參考價值,需要的可以了解一下
    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ù)傳就是在上一次下載時斷開的位置開始繼續(xù)下載。在HTTP協(xié)議中,可以在請求報文頭中加入Range段,來表示客戶機(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
  • 深入委托與多播委托的詳解

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

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

    C#中的where泛型約束介紹

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

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

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

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

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

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

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

    C#操作windows注冊表的方法

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

最新評論

平舆县| 辉县市| 永顺县| 岐山县| 科技| 阿拉善右旗| 咸阳市| 鄂温| 张家口市| 平山县| 九龙城区| 乾安县| 奉贤区| 中卫市| 迁西县| 临高县| 东兰县| 南安市| 吕梁市| 铜川市| 衡山县| 秦皇岛市| 武胜县| 天等县| 溧水县| 卢龙县| 湖南省| 石楼县| 灌阳县| 永年县| 长泰县| 萨迦县| 临安市| 城市| 连城县| 黄陵县| 桦川县| 珠海市| 车致| 穆棱市| 拉萨市|