【问题标题】:Comma in variable initialization/declaration变量初始化/声明中的逗号
【发布时间】:2014-09-08 08:27:27
【问题描述】:

我偶然发现了一段代码,如下所示:

    void check()
    {
        int integer = 7;

        //integer2 is not declared anywhere
        int check = integer, integer2;

        //after running
        //check = 7
        //integer = 7
        //integer2 = 0
    }

这里逗号的目的是什么?

【问题讨论】:

    标签: c# variables variable-declaration


    【解决方案1】:

    变量声明中的逗号仅允许您声明相同类型的第二个变量。相当于:

    int check = integer;
    int integer2;
    

    至于:

    //integer2 is not declared anywhere
    

    是的,是的;就在这儿!这integer2的声明。

    【讨论】:

    • 我知道我可以做到这一点:int integer1, integer2, integer3; 但并不是说这可以同时用于声明和初始化。看起来不像是喜欢使用的功能 ID,因为它可能会产生误导......无论如何谢谢 :)
    • @Yoav 实际上,我经常使用它;一个经典的用法是在流 IO 中:int offset = 0, count; while((count = source.Read(buffer, offset, buffer.Length)) > 0) { offset += count; ... }
    • 令人惊讶(或不是)我最初遇到此代码的地方在这里:stackoverflow.com/a/3967595/1092181
    • @Yoav 看,我告诉过你我用过它;p
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-01
    • 2015-12-23
    相关资源
    最近更新 更多