我是C#的新手,我正在创建一个表格,让用户有机会输入姓名和年龄。然后,通过提交此信息,应该有一个摘要(一个新表单),显示用户输入的内容。 我终于得到了它的名字,因为它是一个字符串,这不是什么大不了的事,但我坚持这个年龄。 我尝试过铸造,然而,它不起作用。我也查看了文档,但是我找不到任何有用的东西。好吧,可能是因为我不知道在哪里看。 无论如何,如果有人给我一个例子,我会非常感激。 提前谢谢。
FormEnterDetails.cs
PersonStatic.LName = this.textBoxLastName.Text;
PersonStatic.Age = this.textBoxAge.Text;
DetailsHolder.cs
private string lName;
public string LName
{
get { return lName; }
set { lName = value; }
}
string age;
public String Age
{
get { return age; }
set { age = value; }
}
FormSummary.cs
private void FormSummary_Load(object sender, EventArgs e)
{
//we need to do this work on form load and not on creation
this.labelFirstNameSummary.Text = dh.FName;
this.labelLastNameSummary.Text = dh.LName;
this.labelAge.Text = Int32.Parse(dh.Age);
}
PersonStatic.cs
static string lName;
public static string LName
{
get { return PersonStatic.lName; }
set { PersonStatic.lName = value; }
}
static string age;
public static string Age
{
get { return PersonStatic.age;}
set { PersonStatic.age = value; }
}
答案 0 :(得分:5)
我希望你想要这样的东西
date_diff
答案 1 :(得分:1)
使用ToString()
内置函数将任何内容转换为字符串:
Int x=5;
String y;
y=x.ToString();
答案 2 :(得分:0)
根据您发布的代码,与年龄相关的所有地点似乎都在使用string
,而不是int
(请注意,这些是缩短实际类型名称的关键字,{{1}和System.String
)。所以你应该在这一行上收到错误:
System.Int32
Int32.Parse
static method将从<{em>转换为<{1}} 转换为 this.labelAge.Text = Int32.Parse(dh.Age);
。 (如果您想转换其他方式,那么就像其他答案所提到的那样,您可以在string
上调用int
实例方法。)
但在这种情况下ToString()
,假设int
是dh.Age
的实例,已经一个dh
。假设DetailsHolder
是string
的实例,labelAge.Text
也是labelAge
。所以你不需要做任何转换:
System.Windows.Forms.Label