在C#对象属性中循环时检查数组
本文关键字:检查 数组 循环 对象 属性 | 更新日期: 2023-09-27 18:25:49
我目前正在循环遍历一个C#对象来解析属性,因为表单构造函数中使用的对象可能具有不同的属性。
这是我当前的环路
foreach (var media in MediaItem.GetType().GetProperties())
{
txtDetails.Text += media.Name + " - " + media.GetValue(MediaItem, null) + "'r'n";
}
它适用于String、Int和Double值,但当它到达一个数组时,它返回System.String[],而不是值。
如何检测循环中的值何时为数组,然后返回值。我在想一个嵌套的for循环。
有什么想法吗?
您可以从以下内容开始:
public static string FormatData(object data)
{
Array array = data as Array;
if (array != null) //If this is an array, then join individual values seperated by ", "
{
return string.Join(", ", array.Cast<object>());
}
return data.ToString(); //otherwise, call ToString
}
以下是如何使用它:
foreach (var media in MediaItem.GetType().GetProperties())
{
txtDetails.Text += media.Name + " - " + FormatData( media.GetValue(MediaItem, null)) + "'r'n";
}