C# 以下返回值的有效C数据类型是什么,或者如何访问内部属性?

C# 以下返回值的有效C数据类型是什么,或者如何访问内部属性?,c#,types,C#,Types,我有以下方法: private /*some type*/ abc(string a, string b){ //... return new { success = false, responseText = "Input-Values not valid" }; } 对象不是我搜索的类型,因为我无法在第二个方法中访问abcReturn.success和abcReturn.responseText。或者有没有其他方法来获取成功和响应的价值观?因为在调试时,我可以看到abcRe

我有以下方法:

private /*some type*/ abc(string a, string b){
    //...
    return new { success = false, responseText = "Input-Values not valid" };
}
对象不是我搜索的类型,因为我无法在第二个方法中访问abcReturn.success和abcReturn.responseText。或者有没有其他方法来获取成功和响应的价值观?因为在调试时,我可以看到abcReturn确实包含success和responseText的值


我希望以这种方式返回它,因为在第三种方法中,我希望返回Jsonabc,JsonRequestBehavior.AllowGet

在c中不能返回匿名对象,但可以返回如下命名元组:

private (bool success, string responseText) abc(string a, string b)
{
    return (false, "Input-values not valid");
}

在c中不能返回匿名对象,但可以返回如下命名元组:

private (bool success, string responseText) abc(string a, string b)
{
    return (false, "Input-values not valid");
}

为什么不用字典呢

using System.Collections.Generic;

private Dictionary<bool, string> abc(string a, string b) {
    //...

    Dictionary<bool, string> returnVal = new new Dictionary<bool, string>()
    {
        {"success", false},
        {"responseText", "Input-Values not valid"},
    };

    return returnVal;
}

然后要访问返回的值,您需要执行以下操作:returnVal[success]

为什么不使用字典

using System.Collections.Generic;

private Dictionary<bool, string> abc(string a, string b) {
    //...

    Dictionary<bool, string> returnVal = new new Dictionary<bool, string>()
    {
        {"success", false},
        {"responseText", "Input-Values not valid"},
    };

    return returnVal;
}

然后要访问返回的值,您需要执行以下操作:returnVal[success]

命名元组如何?返回new/*some type*/{}?或者如果您需要json,只需使用json.net库并创建作业对象即可。对于json字符串调用myobj.ToString-命名元组如何?返回new/*some type*/{}?或者如果json需要它,只需使用json.net库并创建作业对象。对于json字符串调用myobj.ToString-I get:无法定义使用元组的类或成员,因为找不到编译器所需的类型“System.Runtime.CompilerServices.TupleElementNamesAttribute”。您是否缺少引用?您使用的是什么版本的c?@JSteward因为编译器知道要查找哪种类型,这意味着它是足够高版本的编译器。@thestruggleisreal您可能需要引用System.ValueTuple才能使用此syntaxI get:无法定义使用元组的类或成员,因为找不到编译器所需的类型“System.Runtime.CompilerServices.TupleElementNamesAttribute”。是否缺少引用?您使用的是哪个版本的c?@JSteward因为编译器知道要查找哪种类型,那么这就意味着它是足够高的编译器版本。@struggleisreal您可能需要引用System.ValueTuple才能使用此语法