簡體   English   中英

C#替代元組

[英]C# alternative to tuple

我有一個我想要讀取的dbf文件(dBase),將每一行放入一個列表中(因為一行代表一個shapefile對象的數據),然后能夠修改列表(例如,轉換代表名稱的字段)到一個字符串)。 這意味着數據類型需要能夠同時保存Ints,string,bool等,並向其中添加項目。 在python中,我可以使用列表來完成此操作,但由於集合無法修改,我無法使用它們。

這聽起來像是替代元組的(精確)重復,但事實並非如此。 這些問題是基於您事先知道自己想要哪些物體的假設; 我不。

我在.NET 4.5上,順便說一句。

使用dynamic - 它是一個完美的用例:

Visual C#2010引入了一種新的動態類型。 類型是靜態類型,但動態類型的對象繞過靜態類型檢查。 在大多數情況下,它的功能類似於它具有類型對象。 在編譯時,假定鍵入為動態的元素支持任何操作。 因此,您不必擔心對象是從COM API,動態語言(如IronPython),HTML文檔對象模型(DOM),反射還是程序中的其他位置獲取其值。 但是,如果代碼無效,則會在運行時捕獲錯誤。

你嘗試過使用dynamic類型嗎?

如果您希望能夠在運行時輕松添加屬性並更改其類型,則可以將ExpandoObjectdynamic一起使用,例如:

dynamic expando = new ExpandoObject();

expando.SomeProperty = "1234";

Console.WriteLine(expando.SomeProperty);
Console.WriteLine(expando.SomeProperty.GetType().FullName); // string

expando.SomeProperty = int.Parse(expando.SomeProperty);

Console.WriteLine(expando.SomeProperty);
Console.WriteLine(expando.SomeProperty.GetType().FullName); // int

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM