将对象数组转换为包含空值的字符串数组

时间:2013-02-27 08:52:25

标签: c# lambda arrays

我想将对象数组转换为字符串数组而不排除空值。 我得到以下代码将对象数组转换为字符串数组。但它排除了空值..

string[] foo = myvalues.OfType<object>().Select(o => o.ToString()).ToArray();  

我在谷歌搜索了很多,但未能找到解决方案

请帮助。

编辑: - 得到了答案......

List<string> lst = new List<string>(); 
foreach (object o in myvalues) 
if (o==null)
 { 
lst.Add(null); 
} 
else 
{ 
lst.Add(o.ToString()); 
} 
string[] str2 = lst.ToArray();

2 个答案:

答案 0 :(得分:2)

使用OfType调用过滤掉空值。你可以试试像

这样的东西
string[] fo = myvalues.Select(o => o == null ? (string)null : o.ToString()).ToArray();

答案 1 :(得分:0)

  

我们可以使用以下方法将对象数组转换为字符串   阵列

Object[] ObjArray= Dt.Rows[i].ItemArray;        

string[] StrArray= Array.ConvertAll(ObjArray,Convert.ToString);

(对于对象数组中的空对象值,它将在字符串数组中保留空字符串。)