如果 int 值等于 x 替换为字符串
If int value equal to x replace with a string
我在 schadstoffklasse
中存储了一个整数,所以当像这样调用 Car 对象时(括号中的最后一个整数):
PKW Kaefer = new PKW("VW", "Käfer", "K-GS-01", 1965, 9999, 1000, 30, 1);
我可以说 0、1、2。
现在当我写这篇文章时 Console.WriteLine(Kaefer.Schadstoffklasse)
在这种情况下,它会向控制台输出 1。
我不希望它说 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;
}
}
感谢您对初学者的耐心等待
您不能有 属性 return 混合类型。 Schadstoffklasse
的 属性 是一个 int
,因此它只能 return 一个 int
而不是字符串。
虽然有多种不同的方法可以实现这一点,但如果不了解您如何使用它,就不可能说出您应该使用哪一种。我会推荐另一个没有 setter 的 属性,getter 查看另一个 属性,读取它的值,然后 returns 字符串想要或做同样的方法。
扩展我的建议:
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();
}
}
另外,很抱歉伤害了德国人。
您不能将变量的类型从 int 更改为 string 。
在这种情况下,我会创建一个数组
["foo","bar","foobar"]
并使用 schadstoffklasse
的值作为索引
Console.WriteLine(Kaefer.myArray[Schadstoffklasse]);
试试这个
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;
}
}
Note: The explain from user @gilliduck is useful. Consider this just
as a situational workaround.
我发现 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
}
我在 schadstoffklasse
中存储了一个整数,所以当像这样调用 Car 对象时(括号中的最后一个整数):
PKW Kaefer = new PKW("VW", "Käfer", "K-GS-01", 1965, 9999, 1000, 30, 1);
我可以说 0、1、2。
现在当我写这篇文章时 Console.WriteLine(Kaefer.Schadstoffklasse)
在这种情况下,它会向控制台输出 1。
我不希望它说 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;
}
}
感谢您对初学者的耐心等待
您不能有 属性 return 混合类型。 Schadstoffklasse
的 属性 是一个 int
,因此它只能 return 一个 int
而不是字符串。
虽然有多种不同的方法可以实现这一点,但如果不了解您如何使用它,就不可能说出您应该使用哪一种。我会推荐另一个没有 setter 的 属性,getter 查看另一个 属性,读取它的值,然后 returns 字符串想要或做同样的方法。
扩展我的建议:
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();
}
}
另外,很抱歉伤害了德国人。
您不能将变量的类型从 int 更改为 string 。 在这种情况下,我会创建一个数组
["foo","bar","foobar"]
并使用 schadstoffklasse
的值作为索引
Console.WriteLine(Kaefer.myArray[Schadstoffklasse]);
试试这个
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;
}
}
Note: The explain from user @gilliduck is useful. Consider this just as a situational workaround.
我发现 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
}