C# 使用拆分字符串中的值填充类变量

C# 使用拆分字符串中的值填充类变量,c#,string,C#,String,所以我有这个代码: public class myClass { public string A { get; set; } public string B{ get; set; } //and so on } 我想添加一个接受字符串输入的构造函数,让该构造函数在“,”上拆分字符串,然后使用拆分值填充类变量 我尝试过的 我尝试用我的变量值创建一个字符串,如下所示: public void myVoid() { string s = "A,B

所以我有这个代码:

public class myClass
{

    public string A { get; set; }
    public string B{ get; set; }
    //and so on
}
我想添加一个接受字符串输入的构造函数,让该构造函数在“,”上拆分字符串,然后使用拆分值填充类变量

我尝试过的

我尝试用我的变量值创建一个字符串,如下所示:

public void myVoid()
    {


        string s = "A,B,..etc";
        string[] values = s.Split(',');

        foreach (string item in values)
        {
            Console.WriteLine(item);
            Console.ReadKey();
        }
    }
每按一次键,它都会一个接一个地返回我的值,但这只是我的大脑在思考而已


因此,为了澄清:我想添加一个接受字符串输入的构造函数,并让该构造函数在“,”上拆分字符串,然后使用拆分值填充类变量。一个简单的方法是:

    public class myClass
    {
       public string A { get; set; }
       public string B{ get; set; }
       public myClass()
       {
         //default constructor
       }
       public myClass(string S)
       {
         string[] values = S.Split(',');
         if (values.Length>=2)
         {
            this.A=values[0];
            this.B=values[1];
         }
       }
     }
然而,你的目标有点模糊。例如,拆分字符串的哪个值将附加在A上,哪个值附加在B上?

这是您想要的吗

public class myClass
{
    public myClass(string input)
    {
         var ar = input.Split(',');
         if (ar.Length >= 2)
         {
             A = ar[0];
             B = ar[1];
         }
    }

    public string A { get; set; }
    public string B{ get; set; }
    //and so on
}
使用:

你想要这个吗-

public class myClass
{
    private string _a, _b;

    public myClass(string args)
    {
        _a = args.Split(',')[0];
        _b = args.Split(',')[1];
    }

    public string A { get { return _a; } set { _a = value; } }
    public string B { get { return _b; } set { _b = value; } }
    //and so on
}


最好使用反射

你到底被困在哪里?看起来你已经有了核心部分。您已经在拆分字符串,只需将值分配给相应的属性即可。我将获取一个CSV文件,对其进行主操作,并将结果输出到一个宽度文本文件中。我只是在逻辑上有点挣扎,因为我对编程还很陌生,我很快就会坐下来为程序制定一个清晰的工作流程,希望能把事情弄清楚。在这一点上,我会考虑所有的建议,结果如下谢谢你的回复,我会尽我所能尝试这一点,并尽快回复你谢谢你的回复,我会尽我所能尝试这一点,并尽快回复你谢谢你的回复,我会尽我所能尝试这个并回复你谢谢你的回复,我会尽我所能尝试这个并回复你
public class myClass
{
    private string _a, _b;

    public myClass(string args)
    {
        _a = args.Split(',')[0];
        _b = args.Split(',')[1];
    }

    public string A { get { return _a; } set { _a = value; } }
    public string B { get { return _b; } set { _b = value; } }
    //and so on
}
 public string A { get; set; }
    public string B { get; set; }

    public Sample(string strSplit) {
        var values = strSplit.Split(',');
        A = values[0];
        B = values[1];
    }
Sample dd = new Sample("James,Jonathan");