我认为对象意味着所有数据类型,但由于某些原因它不起作用。
我做了一个 ToStringArray
方法,它可以将任何类型的数组转换为字符串数组,string[]
,我是这样写的,因为它可以转换任何类型:
public static string[] ToStringArray(this object[] buffer)
{
//code here.
}
但问题是,如果我有一个像这样的数组:
byte[] x = new byte[] { 1, 2, 3, 4, 5 };
然后尝试做:
string[] s = x.ToStringArray();
我收到一个错误,提示 byte[] 不包含定义 ToStringArray
。
我该如何解决这个问题或者我做错了什么?
最佳答案
它们之间没有隐式转换,数组变体技巧只适用于引用类型的数组; byte[]
不符合此条件。
您可能想改用泛型:
public static string[] ToStringArray<T>(this T[] buffer)
{
//code here.
}
关于c# - 为什么 "object[]"不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48552891/