[英]C# best way to convert object to string array
I am stuck in something. 我陷入了困境。 I want to convert this object, which is a array of objects, into a array of strings I cannot find a good way to do that.
我想将此对象(它是一个对象数组)转换为一个字符串数组,但我找不到一种很好的方法。 Do I need to use a for loop?
我需要使用for循环吗? If someone can also tell me why these 2 methods failed, I will appreciate.
如果有人也可以告诉我这两种方法为何失败,我将不胜感激。
object greetings = new object[] { "hi", "hello", "greetings" };
if (greetings.GetType().IsArray)
{
//string[] arr = greetings as string[];
//string[] arr = (string[])greetings;
}
string[] arr = Array.ConvertAll((object[])greetings, Convert.ToString);
If you want to include only objects that are strings: 如果只想包含字符串对象:
string[] result = greetings.OfType<string>().ToArray();
If you want to include everything (non-strings throw an exception): 如果要包括所有内容(非字符串会引发异常):
string[] result = greetings.Cast<string>().ToArray();
try this. 尝试这个。
object[] objArray = { "A", "B", "C" };
string[] strArray = objArray.Cast<string>().ToArray();
//2.
object[] objArray2 = { "A", null, 1, false };
foreach (object obj in objArray2)
{
if (obj != null)
{
if (obj.GetType() == typeof(string))
{
//strings values in here
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.