我将一个int存储在schadstoffklasse
中,所以当这样调用Car对象时(括号中的最后一个int):
PKW Kaefer = new PKW("VW", "Käfer", "K-GS-01", 1965, 9999, 1000, 30, 1);
我可以说0、1、2
现在,当我写这个Console.WriteLine(Kaefer.Schadstoffklasse)
时
到控制台,在这种情况下,它输出的结果是1。
例如,我确实不想让我说...。
0 = foo
1 = bar
2 = foobar
因此它将字符串输出到控制台。
这是我尝试过的方法,不起作用。
private int schadstoffklasse;
public int Schadstoffklasse
{
get
{
return schadstoffklasse;
}
set
{
if (value == 0)
{
string foo = value.ToString();
foo = "BLABLALBA";
}
schadstoffklasse = value;
}
}
感谢您对初学者的耐心
答案 0 :(得分:1)
您不能让属性返回混合类型。 Schadstoffklasse
的属性是int
,因此它只能返回int
,而不能返回字符串。
尽管有很多不同的方法可以完成此操作,但是如果不了解您如何使用此功能,就不可能说出应该执行哪种操作。我建议您使用另一个没有setter的属性,而getter会查看另一个属性,读取它的值并返回您想要的字符串,或者这样做的方法。
根据我的建议进行扩展:
public enum SchadstofklasseStrings
{
foo = 0,
bar = 1,
foobar = 2
}
public int Schadstoffklasse { get; set; }
public string SchadstoffklasseToString {
{
get
{
var stringValue = (SchadstofklasseStrings) Schadstoffklasse;
return stringValue.ToString();
}
}
也很抱歉,肢解了德国人。
答案 1 :(得分:0)
您不能将变量的类型从int更改为string。 在这种情况下,我将创建一个数组
["foo","bar","foobar"]
并使用schadstoffklasse
的值作为索引
Console.WriteLine(Kaefer.myArray[Schadstoffklasse]);
答案 2 :(得分:0)
尝试一下
private int schadstoffklasse;
public object Schadstoffklasse
{
get
{
if(this.schadstoffklasse==0)
return "foo";
if(this.schadstoffklasse==1)
return "bar";
if(this.schadstoffklasse==2)
return "foobar";
return "N/A";
}
set
{
this.schadstoffklasse=(int)value;
}
}
注意:用户@gilliduck的解释很有用。考虑一下 作为一种情况下的解决方法。
答案 3 :(得分:0)
我发现enum
在这种情况下很有用,因为它是命名整数的集合。这是我可能如何处理的一个例子。
void Main()
{
var Kaefer = new PKW("VW", "Käfer", "K-GS-01", 1965, 9999, 1000, 30, Schadstoffklassen.Bar);
Console.WriteLine(Enum.GetName(typeof(Schadstoffklassen), Kaefer.Schadstoffklasse));
// Output: Bar
}
public class PKW
{
private Schadstoffklassen schadstoffklasse;
public PKW(string v1, string v2, string v3, int v4, int v5, int v6, int v7, Schadstoffklassen _schadstoffklasse) {
schadstoffklasse = _schadstoffklasse;
}
public Schadstoffklassen Schadstoffklasse
{
get { return schadstoffklasse; }
set { schadstoffklasse = value; }
}
}
public enum Schadstoffklassen {
Foo = 0,
Bar = 1,
FooBar = 2
}