C# 如何从类返回多个参数 我现在从这个类返回字符串主题,如果我想从这个类返回两个字符串,我该怎么做??

C# 如何从类返回多个参数 我现在从这个类返回字符串主题,如果我想从这个类返回两个字符串,我该怎么做??,c#,methods,parameters,C#,Methods,Parameters,字符串主题 public string getdata(string EmailFrom,string EmailTo, string EmailComment ) { { scom.CommandType = CommandType.StoredProcedure; try {

字符串主题

    public string getdata(string EmailFrom,string EmailTo, string EmailComment )
    {

        
        {

         
            scom.CommandType = CommandType.StoredProcedure;
           
           
            try
            {
                

                SqlDataReader rdr = scom.ExecuteReader();
                if (rdr.HasRows)
                {
                    while (rdr.Read())
                    {
                     

                    Subject = rdr["EmailSubject"].ToString();
                     
                         
                    
                    }
                }

                return Subject;
                 

您可以使用“out”参数

var string1 = String.Empty;
var string2 = String.Empty;

public string MyMethod(out string string1, out string string2)
{
    string1 = "string1";
    string2 = "string2";
}
有关这方面的更多信息:

您可以返回自己的DTO(数据传输对象)类


有关DTO的更多信息:

您可以使用'out'参数

var string1 = String.Empty;
var string2 = String.Empty;

public string MyMethod(out string string1, out string string2)
{
    string1 = "string1";
    string2 = "string2";
}
有关这方面的更多信息:

您可以返回自己的DTO(数据传输对象)类


有关DTO的更多信息:

在类中使用out类型参数。。。 比如说

static void FooClass(out int foo, out int bar)
{
    foo= (int)Math.Pow(2, 2);
    bar= (int)Math.Pow(3, 2);
}

您还可以使用
List
将Datareader的值放入其中并返回列表集合。

在类中使用out类型参数。。。 比如说

static void FooClass(out int foo, out int bar)
{
    foo= (int)Math.Pow(2, 2);
    bar= (int)Math.Pow(3, 2);
}

您还可以使用
List
将Datareader的值输入其中并返回列表集合。

这些是您可用的选项

  • 使用ref或out关键字。-
  • 创建类或结构并从方法返回类或结构
  • 如果您使用的是.Net 4.0+,则可以使用元组类。-
    这些是您可用的选项

  • 使用ref或out关键字。-
  • 创建类或结构并从方法返回类或结构
  • 如果您使用的是.Net 4.0+,则可以使用元组类。-
    您可以使用要返回的属性创建类/结构,也可以返回字符串枚举(例如
    列表

    您可以使用要返回的属性创建类/结构,也可以返回字符串枚举(例如
    列表

    您需要定义一个包含3个字段的类型,表示要从方法返回的信息。然后更改方法的签名以返回定义的类型。从内部,使用获取的任何数据初始化此类型的实例并返回它


    不幸的是,现代OO语言不支持从语言级别的方法返回两个(或更多内容)。

    您需要定义一个包含3个字段的类型,表示要从方法返回的信息。然后更改方法的签名以返回定义的类型。从内部,使用获取的任何数据初始化此类型的实例并返回它


    不幸的是,现代OO语言不支持从语言级别的方法返回两个(或更多)对象

    public class MailType
    {
        string _subject=string.empty;
        string _string1=string.empty1;
        string _string2=string.empty2;
    
        public string Subject
        {
             get{
                 return _subject;
             }
             set{
                 _subject=value;
             }
        }
    
        public string String1
        {
             get{
                 return _string1;
             }
             set{
                 _string1=value;
             }
        }
    
        public string String2
        {
             get{
                 return _string2;
             }
             set{
                 _string2=value;
             }
        }
    }
    

    在循环中创建此类的对象,将值存储在对象的Subject、String1和String2属性中,并从函数中返回列表:getdata..

    创建一个对象,例如

    public class MailType
    {
        string _subject=string.empty;
        string _string1=string.empty1;
        string _string2=string.empty2;
    
        public string Subject
        {
             get{
                 return _subject;
             }
             set{
                 _subject=value;
             }
        }
    
        public string String1
        {
             get{
                 return _string1;
             }
             set{
                 _string1=value;
             }
        }
    
        public string String2
        {
             get{
                 return _string2;
             }
             set{
                 _string2=value;
             }
        }
    }
    
    在循环中创建此类的对象,将值存储在对象的Subject、String1和String2属性中,并从函数中返回列表:getdata..

    只要您不介意返回的参数为
    tuple.Item1、tuple.Item2、tuple.Item3,就可以使用该函数返回多个参数

    public Tuple<string, string, string> GetData()
    {
    
    Tuple<string, string, string> tuple = new Tuple<string, string, string>("1",
            "cat", "dog");
    return tuple;
    }
    
    公共元组GetData()
    {
    Tuple Tuple=新的Tuple(“1”,
    “猫”、“狗”);
    返回元组;
    }
    
    只要您不介意返回的参数为
    tuple.Item1、tuple.Item2、tuple.Item3,就可以使用返回多个参数

    public Tuple<string, string, string> GetData()
    {
    
    Tuple<string, string, string> tuple = new Tuple<string, string, string>("1",
            "cat", "dog");
    return tuple;
    }
    
    公共元组GetData()
    {
    Tuple Tuple=新的Tuple(“1”,
    “猫”、“狗”);
    返回元组;
    }
    
    @ChrisBint示例?(除了C#中的泛型元组外)@ChrisBint示例?(除了C#中的泛型元组)