Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
三种情况下的C#语法_C#_Syntax_Operators - Fatal编程技术网

三种情况下的C#语法

三种情况下的C#语法,c#,syntax,operators,C#,Syntax,Operators,我想知道C#中的语法 ->这很简单 但,除了“买入”和“卖出”之外,还有价值的可能性。 以下是多余的。 请告诉我简单的表达方式 var name; if (side == "BUY") name="LONG"; else if(side="SELL") name="SHORT"; else throw Exception(); 如果您不介意嵌套三元结构: var name = side == "BUY" ? "LONG" : side == "SELL"

我想知道C#中的语法

->这很简单

但,除了“买入”和“卖出”之外,还有价值的可能性。 以下是多余的。 请告诉我简单的表达方式

var name;
if (side == "BUY")
    name="LONG";
else if(side="SELL")
    name="SHORT";
else
    throw Exception();

如果您不介意嵌套三元结构:

var name = side == "BUY"
    ? "LONG"
    : side == "SELL"
        ? "SHORT"
        : "NEITHER";

如果您必须在“两者都不”的情况下抛出异常,但希望使用If-else If-else构造以外的其他构造,那么切换方法可以是:

使用制度

public class Program
{
    public static void Main()
    {
        var side = "Foo";   // or "BUY" or "SELL" or whatever
        var name = "NEITHER";
        switch (side)
        {
            case "BUY":
                name = "LONG";
                break;
            case "SELL":
                name = "SHORT";
                break;
            default:
                throw new Exception();
        }
        Console.WriteLine(name);
    }
}

.

如果您不介意嵌套三元:

var name = side == "BUY"
    ? "LONG"
    : side == "SELL"
        ? "SHORT"
        : "NEITHER";

如果您必须在“两者都不”的情况下抛出异常,但希望使用If-else If-else构造以外的其他构造,那么切换方法可以是:

使用制度

public class Program
{
    public static void Main()
    {
        var side = "Foo";   // or "BUY" or "SELL" or whatever
        var name = "NEITHER";
        switch (side)
        {
            case "BUY":
                name = "LONG";
                break;
            case "SELL":
                name = "SHORT";
                break;
            default:
                throw new Exception();
        }
        Console.WriteLine(name);
    }
}

.

以下是引发异常的几种较短方法(均区分大小写):

stringname1=side==“购买”?“多头”:边==“卖出”?“短”:侧边。删除(-1);//System.ArgumentOutOfRangeException:“StartIndex不能小于零。”
字符串名称2=new[]{“LONG”,“SHORT”}[Array.IndexOf(new[]{“BUY”,“SELL”},side)];//System.IndexOutOfRangeException:“索引超出了数组的边界。”
string name3=新字典{{“买”、“长”}、{“卖”、“短”}[side];//System.Collections.Generic.KeyNotFoundException:“字典中不存在给定的键。”

以下是引发异常的几种较短方法(均区分大小写):

stringname1=side==“购买”?“多头”:边==“卖出”?“短”:侧边。删除(-1);//System.ArgumentOutOfRangeException:“StartIndex不能小于零。”
字符串名称2=new[]{“LONG”,“SHORT”}[Array.IndexOf(new[]{“BUY”,“SELL”},side)];//System.IndexOutOfRangeException:“索引超出了数组的边界。”
string name3=新字典{{“买”、“长”}、{“卖”、“短”}[side];//System.Collections.Generic.KeyNotFoundException:“字典中不存在给定的键。”

开关大小写
?。是否有在开关大小写的“name variable”中设置返回值的语法?我不确定我是否能理解您的意思。以下是redundunt<代码>var side=“两者都不”;var name=“”;switch(side){case“BUY”:name=“LONG”;break;case“SELL”:name=“SHORT”;break;default:throw new Exception();}我想你误用了“多余”这个词。你的意思是“臃肿”吗?
开关大小写
?。是否有在开关大小写的“name variable”中设置返回值的语法?我不确定我能理解你的意思。以下是redundunt<代码>var side=“两者都不”;var name=“”;switch(side){case“BUY”:name=“LONG”;break;case“SELL”:name=“SHORT”;break;default:throw new Exception();}我想你误用了“多余”这个词。你真的是说“臃肿”吗?这应该和“不要在家里那样做”一起出现:-@Kyonoii我想你的如果-如果-如果-如果-如果-如果-如果-如果-是最好的方法。三元的每个术语都必须产生相同类型的值。这应该与“在家里不要这样做”一起出现:-@kyounoii我认为你的if-else-if-else方法是最好的。三元数的每个项必须产生相同类型的值。