c# - C# 中的 Switch case - 需要一个常量值

标签 c# switch-statement

我的代码如下:

public static void Output<T>(IEnumerable<T> dataSource) where T : class
{   
    dataSourceName = (typeof(T).Name);
    switch (dataSourceName)
    {
        case (string)typeof(CustomerDetails).Name.ToString(); :
            var t = 123;
            break;
        default:
            Console.WriteLine("Test");
    }
}

但这行不通。 case 语句给我一个错误,指出需要一个常量变量。请大家帮忙谢谢!

最佳答案

C# switch statement limitations - why?

基本上 Switches 不能在 case 语句中有求值语句。它们必须进行静态评估。

关于c# - C# 中的 Switch case - 需要一个常量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7593377/

相关文章:

javascript - 悬停在文本上切换图像/不使用 jQuery

if-statement - Xquery:相同的测试无论是在 switch/case 还是在 if/then/else 中都有不同的结果

c# - 如何将 C# 匿名类型序列化为 JSON 字符串?

c# - 使用 C# 和 Unity 开发 Android 游戏

c# - 如何在我的对象上使用 arrayList.contains

java - 在 Java 中使用 Switch 根据年龄组生成随机出生日期

c# - 如何将文本添加到文本框并将其视为文本 block ?

c# - 可以内联而不是使用属性运行策略的所有处理程序吗?

java - 在 Android 中以字符串作为参数的 Switch 语句

c - 错误: 'for' loop declarations only in c99 mode