C# 如何从对象数组中筛选字符串
我有这样一个对象数组:C# 如何从对象数组中筛选字符串,c#,arrays,string,collections,C#,Arrays,String,Collections,我有这样一个对象数组: object[] test = { "Rock Parrot", "Crimson Rosella", "Regent Parrot", "Superb Parrot", "Red Lory", "African Emerald Cuckoo", 1,2,3 }; 如何筛选此数组并仅获取字符串数组 谢谢您可以这样做: var stringsOnly =
object[] test = {
"Rock Parrot",
"Crimson Rosella",
"Regent Parrot",
"Superb Parrot",
"Red Lory",
"African Emerald Cuckoo",
1,2,3
};
如何筛选此数组并仅获取字符串数组
谢谢您可以这样做:
var stringsOnly = test.OfType<String>().ToArray()
var stringsOnly=test.OfType().ToArray()
您可以执行以下操作:
object[] test = {
"Rock Parrot",
"Crimson Rosella",
"Regent Parrot",
"Superb Parrot",
"Red Lory",
"African Emerald Cuckoo",
1,2,3};
List<string> s = new List<string>();
foreach (var item in test)
{
if (typeof(string) == item.GetType())
s.Add(item.ToString());
}
您可以转换为数组:
var a = s.ToArray();
string[]stringArray=test.Where(element=>element为string.Cast().ToArray();
这对我不起作用。可能是因为类型缺少括号吗?这很好@Blorgbeard。。。我还尝试了这个var stringOnly=Array.FindAll(test,x=>x是string);你认为哪一个在资源上更好。我想实际上,两者都“足够快”。如果您担心的话,我建议您:p如果数组中存在任何null
值,则此操作将崩溃。欢迎使用堆栈溢出:-)请查看。您应该提供一些信息,说明代码解决问题的原因。仅代码的答案对社区没有用处。谢谢Blorgbeard-修复
var a = s.ToArray();
string[] stringArray = test.Where(element => element is string).Cast<string>().ToArray();