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才能使用此语法