gpt4 book ai didi

c# - 查找 NewArrayExpression 的大小

转载 作者:行者123 更新时间:2023-11-30 22:19:05 24 4
gpt4 key购买 nike

尝试使用以下方法解析表达式树时:

private static XElement Parse(NewArrayExpression newArray)
{
IEnumerable<XElement> items = newArray.Expressions
.Select(item => new XElement(ExpressionTag.NewArrayItem, Parse((dynamic)item)));

return new XElement(ExpressionTag.NewArrayNode, items);
}

我发现传入 new Int32[5] 会产生与 new Int32[] { 5 } 相同的信息,因为 NewArrayExpression.Expressions 属性只是填充了我认为应该是构造参数的内容。问题是无法判断参数何时是一个长度,或者它是否是一个实际的item

最佳答案

来自 MSDN :

NewArrayExpression.Expressions 属性

Gets the bounds of the array if the value of the NodeType property is NewArrayBounds, or the values to initialize the elements of the new array if the value of the NodeType property is NewArrayInit.

本质上,NodeType 属性的分支将帮助您消除歧义。

关于c# - 查找 NewArrayExpression 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15746123/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com