我有以下内容 enum
public enum myEnum
{
ThisNameWorks,
This Name doesn't work
Neither.does.this;
}
Run Code Online (Sandbox Code Playgroud)
enum带有"友好名字"的s 不可能吗?
假设我有一堆静态字段,我想在交换机中使用它们:
public static string PID_1 = "12";
public static string PID_2 = "13";
public static string PID_3 = "14";
switch(pid)
{
case PID_1:
//Do something 1
break;
case PID_2:
//Do something 2
break;
case PID_3:
//Do something 3
break;
default:
//Do something default
break;
}
Run Code Online (Sandbox Code Playgroud)
由于C#不允许在开关内部使用非const语句.我想了解这种设计的意图是什么.我应该如何在c#中执行上述操作?
我想构建一个接受字符串参数的方法,以及一个我想根据参数返回特定成员的对象.所以,最简单的方法是构建一个switch语句:
public GetMemberByName(MyObject myobj, string name)
{
switch(name){
case "PropOne": return myobj.prop1;
case "PropTwo": return myobj.prop2;
}
}
Run Code Online (Sandbox Code Playgroud)
这样可以正常工作,但我最终可能会找到一个相当大的列表...所以我很好奇是否有一种方法,没有编写一堆嵌套的if-else结构,以索引方式实现这一点,以便匹配字段通过索引找到而不是通过开关掉落直到找到匹配.
我考虑使用a Dictionary<string, something>来快速访问匹配的字符串(作为关键成员),但由于我想访问传入对象的成员,我不确定如何实现.
我特意试图避免反射等,以便实现非常快速.我可能会使用代码生成,所以解决方案不需要小/紧等.
我最初正在构建一个字典,但每个对象都在初始化它.所以我开始将它移动到一个方法,可以根据键 - 一个switch语句查找值.但由于我不再编入索引,我担心调用此方法的连续查找会很慢.
SO:我正在寻找一种方法来结合索引/散列查找(如字典使用)的性能与返回传入对象的特定属性.我可能会将它放在用于它的每个类中的静态方法中.
我正在将一些VB.NET代码转换为C#,因为我对它更熟悉,它可以帮助我更快地解决问题.但是,我遇到了这个代码,这不是VB.NET中的错误 - 但将其转换为C#会产生编译器错误.
Select Case name
Case "FSTF"
.....
Case "FSTF"
.....
End Select
Run Code Online (Sandbox Code Playgroud)
switch(name) {
case "FSTF":
....;
break;
case "FSTF":
....;
break;
}
Run Code Online (Sandbox Code Playgroud)
错误是:
Label'case"FSTF":'已经出现在这个switch语句中.
这里的解决方案是什么 - 这是否意味着在VB.NET代码中,第二个case语句只是一个虚拟 - 或者第一个是假的?
我正在浏览我的图书馆的一位朋友,因为他询问了优化问题,我遇到了一段代码,如下所示:
long digit = 0;
switch (word) {
case "zero":
digit = 0;
break;
case "a":
case "one":
digit = 1;
break;
case "two":
digit = 2;
break;
case "three":
digit = 3;
break;
case "four":
digit = 4;
break;
case "five":
digit = 5;
break;
case "six":
digit = 6;
break;
case "seven":
digit = 7;
break;
case "eight":
digit = 8;
break;
case "nine":
digit = 9;
break;
case "ten":
digit = 10;
break;
case "eleven":
digit = …Run Code Online (Sandbox Code Playgroud) 我从excel读取数据并确定我要执行的事件.
event既是我自己创建的类(登录和注销)
如果我读取的值= 1,则执行登录
如果我读取的值= 2,则执行注销
我使用switch但我的老板说我必须在Java中使用类似hashmap的东西.
在Java中,我可以编写如下代码:
table.Add("one",login.class);
那么如何使用c#将类添加到哈希表?
如何读取值并在哈希表中调用类方法?
这是一个字符串文字switch语句的人为例子:
static string GetStuff(string key)
{
switch (key)
{
case "thing1": return "oh no";
case "thing2": return "oh yes";
case "cat": return "in a hat";
case "wocket": return "in my pocket";
case "redFish": return "blue fish";
case "oneFish": return "two fish";
default: throw new NotImplementedException("The key '" + key + "' does not exist, go ask your Dad");
}
}
Run Code Online (Sandbox Code Playgroud)
你明白了.
我喜欢做的是通过反射打印每个案例的每个字符串.
我没有做足够的反思,知道如何直观地做到这一点.老实说,我不确定反思是否可以做这种事情.
可以吗?如果是这样,怎么样?
c# ×7
.net ×2
dictionary ×1
enums ×1
foreach ×1
hash ×1
hashmap ×1
hashtable ×1
optimization ×1
reflection ×1
static ×1
vb.net ×1
vb.net-to-c# ×1