我有一个包含各种类型元素的数组。Visual C#用lambda表达式检查数组元素的类型
我想构建一个lambda表达式,如果数组中存在特定的类型,将评估if子句为真。
我尝试以下和许多不同的方法,但我似乎并没有得到它的权利:
var arraySourceText = EditorController.ActiveDocument
.ActiveSegmentPair
.Source
.AllSubItems
.ToArray();
if (arraySourceText.Any(o => o.GetType()) == typeof(string))
{
intStartingPH++;
}
任何意见是值得欢迎的。
注意:arraySourceText
是一个带有自定义类型的API IEnumerable
。为了简化伪码,我只假设了string
。
更新:由于该类型未通过API公开,只有类型的名称,该解决方法基于Byyo的更正。我写了一个单独的方法来检查类型的名称,并返回一个bool
:
你的括号是错误的(也许一个错字虽然):'arraySourceText.Any(O => o.GetType()== typeof运算(字符串)' –
感谢回复,我添加了declaratio阵列中的一个和澄清的笔记。 – ib11