溫馨提示×

c# numeric類型在集合中的使用技巧

c#
小樊
88
2024-08-28 16:57:12
欄目: 編程語言

在C#中,System.Numerics命名空間提供了一些數(shù)值類型,如BigInteger、Complex等。這些類型可以在集合中使用,但需要注意一些技巧和最佳實踐。

  1. 使用List<T>HashSet<T>存儲BigInteger
using System.Numerics;
using System.Collections.Generic;

var bigIntegers = new List<BigInteger> { BigInteger.Parse("12345678901234567890"), BigInteger.Parse("98765432109876543210") };

// 或者使用HashSet來存儲不重復的BigInteger
var uniqueBigIntegers = new HashSet<BigInteger> { BigInteger.Parse("12345678901234567890"), BigInteger.Parse("98765432109876543210") };
  1. 使用Dictionary<TKey, TValue>存儲Complex
using System.Numerics;
using System.Collections.Generic;

var complexNumbers = new Dictionary<string, Complex>
{
    { "A", new Complex(1, 2) },
    { "B", new Complex(3, 4) }
};
  1. 使用LINQ查詢Numeric類型集合:
using System.Linq;
using System.Numerics;
using System.Collections.Generic;

var bigIntegers = new List<BigInteger> { BigInteger.Parse("12345678901234567890"), BigInteger.Parse("98765432109876543210") };

// 查詢大于100的BigInteger
var result = bigIntegers.Where(x => x > BigInteger.Parse("100"));
  1. 使用SortedSet<T>Numeric類型進行排序:
using System.Numerics;
using System.Collections.Generic;

var bigIntegers = new SortedSet<BigInteger> { BigInteger.Parse("12345678901234567890"), BigInteger.Parse("98765432109876543210") };

foreach (var number in bigIntegers)
{
    Console.WriteLine(number);
}
  1. 使用BinarySearchList<T>中查找Numeric類型:
using System.Numerics;
using System.Collections.Generic;

var bigIntegers = new List<BigInteger> { BigInteger.Parse("12345678901234567890"), BigInteger.Parse("98765432109876543210") };
bigIntegers.Sort(); // 先對列表進行排序

int index = bigIntegers.BinarySearch(BigInteger.Parse("12345678901234567890"));
if (index >= 0)
{
    Console.WriteLine($"Found at index: {index}");
}
else
{
    Console.WriteLine("Not found");
}

總之,在C#中使用Numeric類型集合時,需要注意集合的初始化、元素的添加和刪除、查詢和排序等操作。同時,根據(jù)實際需求選擇合適的集合類型,如List<T>HashSet<T>、Dictionary<TKey, TValue>等。

0