我有以下课程:
public class Content {
public int Key { get; set; }
public int Order { get; set; }
public string Title { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有以下函数,它根据id返回内容类型代码.
protected string getType(string id) {
switch(id.Substring(2, 2)) {
case "00": return ("14");
case "1F": return ("11");
case "04": return ("10");
case "05": return ("09");
default: return ("99");
}
}
Run Code Online (Sandbox Code Playgroud)
虽然id不是内容类的一部分,但是类和函数总是一起使用.
有什么办法可以让这个功能干净利落到我的课堂上吗?我正在考虑一个枚举或固定的东西但是我对C#的了解并不足以让我知道如何做到这一点.我希望有人可以给我和榜样.
更新:
我喜欢以下建议:
public static readonly Dictionary<String, String> IdToType =
new Dictionary<string, string>
{
{"00", "14"},
{"1F", "11"},
{"04", "10"},
{"05", "09"}, …Run Code Online (Sandbox Code Playgroud) 我有一个类Foo,其FooConverter定义如下:
[JsonConverter(typeof(FooConverter))]
public class Foo
{
public string Something { get; set; }
}
public class FooConverter : JsonConverter
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
writer.WriteValue(((Foo)value).Something);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
var str = reader.ReadAsString();
if (str == null)
{
throw new JsonSerializationException();
}
// return new Foo {Something = serializer.Deserialize<string>(reader)};
return new Foo {Something = str};
}
public override bool CanConvert(Type objectType) …Run Code Online (Sandbox Code Playgroud) 我有以下内容:
d = [1 2 3 4 5 6 7]
我希望Matlab通过循环或为每个数字指定一个日期名称
任何合适的方法如下:
1 =周二
2 =星期三
.
.
.
7 =周一
我打算在运行程序后得到的结果是:
Matlab窗口要求用户输入1到7之间的数字
n =('输入1到7之间的数字')
然后,
如果我们输入例如4,这意味着打印结果是:星期五
要么
如果我们输入例如7,则表示打印结果为:星期一
等等
有没有办法做到这一点
问候
我有一个像枚举
public enum DecimailPrecision
{
One,
Two,
}
Run Code Online (Sandbox Code Playgroud)
和班级一样
class DecimailPrecision1
{
public const string One = "#,##0.0";
public const string Two = "#,##0.00";
}
Run Code Online (Sandbox Code Playgroud)
我想用枚举从类中检索const字符串.我已经使用if和切换为
string format = string.Empty;
switch (value)
{
case DecimailPrecision.One:
format = DecimailPrecision1.One.ToString(); break;
case DecimailPrecision.Two:
format = DecimailPrecision1.Two.ToString(); break;
default:
format = DecimailPrecision1.Two.ToString(); break;
}
if (value == "One"){
format = DecimailPrecision1.One.ToString();}
else if (value == "Two"){
format = DecimailPrecision1.Two.ToString();}
}
Run Code Online (Sandbox Code Playgroud)
我需要一个更好的方法因为我在枚举中有很多项目.
谢谢.