C# 无法从类中返回变量

C# 无法从类中返回变量,c#,C#,我想从类中返回s数组,但当我开始调试时,它显示以下错误: 名称“s”在当前上下文中不存在。代码是正确的 但是不能返回s 不能将字符串[]返回到字符串 尝试: 您没有尝试从类返回数组,而是从usnt属性的get访问器返回数组,该属性的类型为String?!?。这是不可能的,也是毫无意义的。也许你需要一个方法?你发布的代码甚至不会编译,更不用说是可调试的了。如果没有实际的代码示例和更具体的问题描述,将很难回答这个问题。如果这是主要情况,它不会说名称“s”在当前上下文中不存在。@ardaozkal:对

我想从类中返回s数组,但当我开始调试时,它显示以下错误:

名称“s”在当前上下文中不存在。代码是正确的 但是不能返回s

不能将字符串[]返回到字符串

尝试:


您没有尝试从类返回数组,而是从usnt属性的get访问器返回数组,该属性的类型为String?!?。这是不可能的,也是毫无意义的。也许你需要一个方法?你发布的代码甚至不会编译,更不用说是可调试的了。如果没有实际的代码示例和更具体的问题描述,将很难回答这个问题。如果这是主要情况,它不会说名称“s”在当前上下文中不存在。@ardaozkal:对不起!没有注意到这一点,我的答案是更新的。这可能有效,但示例代码太差了,所以我无法测试it@ardaozkal:让sql部分离开,当然可以测试它。只是s.Appendfoo;就够了
 class cAccess
    {
        private static string usn1;

        public static string usnt
        {
            set
            {
                usn1 = value;
            }
            get
            {
                string[] s = new string[3];
                DataSet dsa = new DataSet();
                SqlDataAdapter adp = new SqlDataAdapter();
                adp.SelectCommand = new SqlCommand("select * from access where id=" + usn1, connection.setCon());
                adp.Fill(dsa, "t");
                DataRow DBrow = dsa.Tables["t"].Rows[0];
                for (int i = 0; i < 3; i++)
                {
                    s[i] = DBrow.ItemArray.GetValue(i).ToString();
                }
                return s;
            }
        }
    }
class cAccess
{
    private static string usn1;

    public string usnt
    {
      set
      {
        usn1 = value;
      }
      get
      {
        StringBuilder s = new StringBuilder();
        DataSet dsa = new DataSet();
        SqlDataAdapter adp = new SqlDataAdapter();
        adp.SelectCommand = new SqlCommand("select * from access where id=" + usn1, connection.setCon());
        adp.Fill(dsa, "t");
        DataRow DBrow = dsa.Tables["t"].Rows[0];
       for (int i = 0; i < 3; i++)
       {
         s.Append(DBrow.ItemArray.GetValue(i).ToString());
       }

       usn1 = s.ToString();
       return(usn1);
 }