首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

C# 統計字串中各子字串出現次數:Split + Dictionary 實作

     編輯:ASP.NET 基礎

需求

給定以分隔符號分隔的字串(如 "a,b,c,a,b,a"),統計各項目出現次數並顯示。

三步驟實作

1. 分割字串

string[] arr = s.Split(',');

2. 建立字典統計

Dictionary<string, int> stats = new Dictionary<string, int>();
foreach (string w in arr)
{
    if (stats.ContainsKey(w))
        stats[w] += 1;
    else
        stats[w] = 1;
}

3. 前台 Repeater 綁定顯示

<asp:Repeater ID="Repeater1" runat="server">
  <HeaderTemplate>
    <table border="1" cellpadding="1" cellspacing="0">
    <tr><td>字元</td><td>次數</td></tr>
  </HeaderTemplate>
  <ItemTemplate>
    <tr><td><%# Eval("Key") %></td><td><%# Eval("Value") %></td></tr>
  </ItemTemplate>
  <FooterTemplate></table></FooterTemplate>
</asp:Repeater>
protected void Page_Load(object sender, EventArgs e)
{
    Repeater1.DataSource = stats;
    Repeater1.DataBind();
}

統計結果畫面

進階:LINQ 一行寫法

var stats = s.Split(',')
             .GroupBy(x => x)
             .ToDictionary(g => g.Key, g => g.Count());

SQL Server 版本

若需在資料庫層處理,請參考 儲存程式碼實作。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved