【问题标题】:One view an array regardless of type (string[], decimal[] etc.)无论类型如何(string[]、decimal[] 等)都可以查看数组
【发布时间】:2013-03-03 02:51:07
【问题描述】:

我知道如何枚举一个数组,但无论类型如何,我该怎么做?

代码:

ViewArray(saClosestVehicles);

public static void ViewArray(object[] ar) {
    #region Examples (Quickly display an arrays contents)
    // object[] ar = new object[] { "blah", 4, "whatever" }; 
    // ViewArray(ar); 
    #endregion

    string strArrayContents="";
    for(int cnt=0; cnt<ar.Length; cnt++)
        strArrayContents+=ar[cnt]+" ";

    MessageBox.Show(strArrayContents, "Array Contents");
}

【问题讨论】:

  • 你尝试过什么?我修改了你的问题。如果您有时间,请访问faq 页面。

标签: c# arrays view types


【解决方案1】:

考虑泛型声明:

public static void ViewArray<T>(T[] ar) {
    MessageBox.Show(String.Join(", ", ar.Select(x => x.ToString()).ToArray()), "Array Contents");
}

【讨论】:

  • 肯干得很好。谢谢!!
【解决方案2】:
object[] objArray = new object[]{"blah", 4, "whatever"};

foreach(var value in objArray)
{
    // do something with value
}

这是你想要的?

【讨论】:

  • 假设我正在创建一个查看数组的方法,并且我正在传递一个十进制数组,它会给我一个“无法将十进制 [] 转换为字符串 []”。因此: ViewArray(saClosestVehicles); public static void ViewArray(object[] ar) { #region Examples (快速显示数组内容) //object[] ar = new object[] { "blah", 4, "whatever" }; //ViewArray(ar); #endregion 字符串 strArrayContents = ""; for (int cnt = 0; cnt
猜你喜欢
  • 2017-04-14
  • 2011-04-29
  • 1970-01-01
  • 2017-08-03
  • 1970-01-01
  • 2021-06-02
  • 1970-01-01
  • 2019-06-04
  • 1970-01-01
相关资源
最近更新 更多