1. 程式人生 > >C#基礎 Hashtable ContainsKey 新增鍵值對時避免異常

C#基礎 Hashtable ContainsKey 新增鍵值對時避免異常

慈心積善融學習,技術願為有情學。善心速造多好事,前人栽樹後乘涼。我今於此寫經驗,願見文者得啟發。

  • .NET Framework : 4.7.2
  •        IDE : Visual Studio Community 2017
  •         OS : Windows 10 x64
  •     typesetting : Markdown

丟擲異常的示例

code

using System;
using System.Collections;

namespace ConsoleApp
{
    class Program
    {
        static void Main
(string[] args) { Hashtable ht = new Hashtable(); ht.Add(1, "hello"); ht.Add(2, "world"); // 注意這行程式碼 ht.Add(1, 1); // 由鍵找值 foreach (var item in ht.Keys) { Console.WriteLine
("鍵是{0},對應的值是{1}", item, ht[item]); } Console.ReadKey(); } } }

result

在這裡插入圖片描述

正確的示例

code

using System;
using System.Collections;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Hashtable ht = new Hashtable(
); ht.Add(1, "hello"); ht.Add(2, "world"); if (!ht.ContainsKey(1)) { ht.Add(1, 1); } else { Console.WriteLine("已存在該鍵,不可以新增"); } // 由鍵找值 foreach (var item in ht.Keys) { Console.WriteLine("鍵是{0},對應的值是{1}", item, ht[item]); } Console.ReadKey(); } } }

result

已存在該鍵,不可以新增
鍵是2,對應的值是world
鍵是1,對應的值是hello

resource

感恩曾經幫助過 心少樸 的人。
C#優秀,值得學習。.NET Core具有跨平臺的能力,值得關注。
Console,WinForm,WPF,ASP.NET,Azure WebJob,WCF,Unity3d,UWP可以適當地瞭解。
注:此文是自學筆記所生,質量中下等,故要三思而後行。新手到此,不可照搬,應先研究其理象數,待能變通之時,自然跳出深坑。