gpt4 book ai didi

c# - 当其中一个部分的类型未知时,从元组中获取项目

转载 作者:行者123 更新时间:2023-12-02 19:31:42 26 4
gpt4 key购买 nike

我正在尝试获取一个可能分为两部分的动态对象 Tuple并从中获取值(value)。通常,这很容易,但在这种情况下, Tuple 的第二部分可以是任何东西。 (实际上它可以是任何东西。)

这是我在 LinqPad 中尝试做的测试。

// This could be a Tuple<String, String>, Tuple<String, MyCustomClass>
// The second part of the tuple could be anything.
dynamic variable = new Tuple<String, int>("Test", 123);

if (variable is Tuple<string, dynamic> tupleVar)
{
Console.WriteLine($"{tupleVar.Item1}, {tupleVar.Item2.ToString()}");
}

我希望 is Tuple<string, dynamic> 中的动态将允许它匹配第二个值的任何内容。但它将动态视为一种类型,并且仅当创建的类型也是动态时才会匹配(或转换)。

有没有办法知道我的动态对象是由两部分组成的 Tuple

最佳答案

怎么样:

is ITuple tuple when tuple.Length == 2
&& tuple[0] is string

并获取:

dynamic val = tuple[1];

一个问题:如果字符串null,它将不起作用。

关于c# - 当其中一个部分的类型未知时,从元组中获取项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61702053/

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