官术网_书友最值得收藏!

New changes with the out variables

Currently in C#, we need to first declare a variable before we pass it as an out parameter to a method. You can use a var while declaration if you initialize them in the same line, but when you don't want to initialize explicitly, you must declare them, specifying the full type:

    // predeclaration of 'out' variable was mandatory 
    int result; // or, var result = 0; 
    string value = "125"; 
 
    int.TryParse(value, out result); 
 
    Console.WriteLine("The result is: " + result); 

In C# 7.0, the out variables can be declared right at the point where they are passed as an out parameter to a method. You can now directly write int.TryParse(value, out int result); and get the value of the out parameter, to use it in the scope of the enclosing block:

    static void Main(string[] args) 
    { 
      string value = "125"; 
      int.TryParse(value, out int result); 
      Console.WriteLine("Result:  " + result); 
    } 

You can also use var instead of a strong type declaration, like int.TryParse(value, out var result);, and the compiler will define it properly:

    static void Main(string[] args) 
    { 
      string value = "125"; 
      int.TryParse(value, out var result); 
      Console.WriteLine("Result:  " + result); 
    } 
To use an out parameter, both the method definition and the calling method must explicitly use the out keyword.

If you have already written code in the existing way of declaration before passing the out parameter to a method, Visual Studio 2017 will allow you to leverage this new feature of C# 7.0 from the light bulb icon:

From the popup, you can fix all the similar occurrences, in the current document, the entire project, or at the solution level, by clicking the links highlighted as shown in the preceding screenshot.

主站蜘蛛池模板: 固阳县| 平湖市| 青海省| 理塘县| 资中县| 犍为县| 荆门市| 文安县| 客服| 阜宁县| 如皋市| 个旧市| 留坝县| 北流市| 花莲市| 濮阳市| 平泉县| 白水县| 彰武县| 剑阁县| 平陆县| 龙山县| 葵青区| 屯昌县| 绥江县| 大名县| 瑞昌市| 利川市| 洱源县| 兴仁县| 灵山县| 江陵县| 沅陵县| 凤阳县| 宜昌市| 辰溪县| 淅川县| 红桥区| 凉城县| 游戏| 晋城|