繁体   English   中英

将所有C#哈希表值和ArrayList值转换为字符串

[英]Convert all C# Hashtable values and ArrayList values into strings

我的输入是带有整数键和整数值的HashTable。 我想将所有整数值转换为字符串值。 因此,输出将是整数键和字符串值的HashTable。

对于ArrayLists同样如此。 我有一个包含所有整数的ArrayList,并且我希望输出为所有字符串的ArrayList。

我的方法是遍历并转换Hashtable和ArrayList中的每个条目,但我觉得有一种更简单的方法可以实现无循环。 我在考虑使用LINQ的思路吗?

更新:

如果由我决定,我将完全避免使用HashTables和ArrayLists,但这是另一回事了。 之所以需要将每个值转换为字符串,是因为我有一个包含Hashtable属性和Arraylist属性的复杂对象(Car)。 Hashtable / Arraylist值是其他复杂对象。 我正在将“汽车”对象从客户端应用程序发送到WebAPI,以便“汽车”被转换为JSON。 令人讨厌的是,当我尝试从WebAPI反序列化“ Car”时。 除Hashtable / Arraylist值外,所有内容都会反序列化。 这些值仍为JToken格式,我必须通过循环将它们一一转换为字符串。

如果可以,可以使用LINQ从Hashtable更改为Dictionary ,从ArrayList更改为List (无论如何,因为要对哈希表和数组列表中的每个值进行装箱,都应这样做):

Dictionary<int, string> dictionary = hashtable.Cast<DictionaryEntry>().ToDictionary(entry => (int)entry.Key, entry => entry.Value.ToString());

List<string> list = arrayList.Cast<int>().Select(value => value.ToString()).ToList();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM