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");