在C#中,System.Numerics
命名空间提供了一些数值类型,如BigInteger
、Complex
等。这些类型可以在集合中使用,但需要注意一些技巧和最佳实践。
- 使用
List
或HashSet
存储BigInteger
:
using System.Numerics; using System.Collections.Generic; var bigIntegers = new List{ BigInteger.Parse("12345678901234567890"), BigInteger.Parse("98765432109876543210") }; // 或者使用HashSet来存储不重复的BigInteger var uniqueBigIntegers = new HashSet { BigInteger.Parse("12345678901234567890"), BigInteger.Parse("98765432109876543210") };
- 使用
Dictionary
存储Complex
:
using System.Numerics; using System.Collections.Generic; var complexNumbers = new Dictionary{ { "A", new Complex(1, 2) }, { "B", new Complex(3, 4) } };
- 使用LINQ查询
Numeric
类型集合:
using System.Linq; using System.Numerics; using System.Collections.Generic; var bigIntegers = new List{ BigInteger.Parse("12345678901234567890"), BigInteger.Parse("98765432109876543210") }; // 查询大于100的BigInteger var result = bigIntegers.Where(x => x > BigInteger.Parse("100"));
- 使用
SortedSet
对Numeric
类型进行排序:
using System.Numerics; using System.Collections.Generic; var bigIntegers = new SortedSet{ BigInteger.Parse("12345678901234567890"), BigInteger.Parse("98765432109876543210") }; foreach (var number in bigIntegers) { Console.WriteLine(number); }
- 使用
BinarySearch
在List
中查找Numeric
类型:
using System.Numerics; using System.Collections.Generic; var bigIntegers = new List{ 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
类型集合时,需要注意集合的初始化、元素的添加和删除、查询和排序等操作。同时,根据实际需求选择合适的集合类型,如List
、HashSet
、Dictionary
等。