是否可以将对象列表的值转换/传输到数组字符串列表?
答案 0 :(得分:2)
有两种情况,目前还不清楚你需要哪种情况:
第一种情况:您有string
列表中存储的实际object
列表。
您可以使用LINQ Cast
函数将所有对象强制转换为另一种类型:
List<object> objs = new List<object>();
List<string> strs = objs.Cast<string>().ToList();
强制每object
个string
。
第二种情况:您有一个object
的列表(不是string
或不仅string
s),您需要将其强制转换为字符串。
您可以使用object.ToString
函数和LINQ Select
函数:
List<string> objs = new List<object>();
List<string> strs = objs.Select(x => x.ToString()).ToList();
将<{1}}功能应用于每个ToString()
,这将产生object
s。
但是,某些类型可能具有较差的string
定义或导致意外行为(例如,仅输出类名称)。
此外,第二个案例涵盖了第一个案例。我的意思是,你可以在两种情况下都使用第二种方法,因为ToString()
会返回相同的字符串。