zoukankan      html  css  js  c++  java
  • C# 多参数返回 从基本到7.0

    原文地址: http://www.cnblogs.com/ylvict/p/5573094.html

    •使用 KeyValue 组合

    static void Main(string[] args)
    {
     int int1 = 15;
     int int2 = 25;
     var result = Add_Multiply(int1, int2);
     Console.WriteLine(result.Key);
     Console.WriteLine(result.Value);
    }
     
    private static KeyValuePair<int, int> Add_Multiply(int int1, int int2)
    {
     var KeyValuePair = new KeyValuePair<int, int>(int1 + int2, int1 * int2);
     return KeyValuePair;
    }
    keyValue

    •使用 ref/out 参数

    static void Main(string[] args)
    {
     int int1 = 15;
     int int2 = 25;
     int add = 0;
     int multiply = 0;
     Add_Multiply(int1, int2, ref add, ref multiply);
     Console.WriteLine(add);
     Console.WriteLine(multiply);
    }
     
    private static void Add_Multiply(int int1, int int2, ref int add, ref int multiply)
    {
     add = int1 + int2;
     multiply = int1 * int2;
    }
    Ref
    static void Main(string[] args)
    {
     int int1 = 15;
     int int2 = 25;
     int add = 0;
     int multiply = 0;
     Add_Multiply(int1, int2, out add, out multiply);
     Console.WriteLine(add);
     Console.WriteLine(multiply);
    }
     
    private static void Add_Multiply(int int1, int int2, out int add, out int multiply)
    {
     add = int1 + int2;
     multiply = int1 * int2;
    }
    Out

    •使用 struct 或者 class 

    struct Result
    {
     public int add;
     public int multiply;
    }
    static void Main(string[] args)
    {
     int int1 = 53;
     int int2 = 17;
     var result = Add_Multiply(int1, int2);
     Console.WriteLine(result.add);
     Console.WriteLine(result.multiply);
    }
     
    private static Result Add_Multiply(int int1, int int2)
    {
     var result = new Result
     {
      add = int1 + int2,
      multiply = int1 * int2
     };
     return result;
    }
    Struct
    class Result
    {
     public int add;
     public int multiply;
    }
    static void Main(string[] args)
    {
     int int1 = 13;
     int int2 = 27;
     var result = Add_Multiply(int1, int2);
     Console.WriteLine(result.add);
     Console.WriteLine(result.multiply);
    }
     
    private static Result Add_Multiply(int int1, int int2)
    {
     var result = new Result
     {
      add = int1 + int2,
      multiply = int1 * int2
     };
     return result;
    }
    Class

    •dynamic

    static void Main(string[] args)
    {
     int int1 = 13;
     int int2 = 27;
     var result = Add_Multiply(int1, int2);
     Console.WriteLine(result.add);
     Console.WriteLine(result.multiply);
    }
     
    private static dynamic Add_Multiply(int int1, int int2)
    {
     var result = new
     {
      add = int1 + int2,
      multiply = int1 * int2
     };
     return result;
    }
    Dynamic

    •使用 Tuple

    static void Main(string[] args)
    {
     int int1 = 25;
     int int2 = 28;
     var result = Add_Multiply(int1, int2);
     Console.WriteLine(result.Item1);
     Console.WriteLine(result.Item2);
    }
     
    private static Tuple<int, int> Add_Multiply(int int1, int int2)
    {
     var tuple = new Tuple<int, int>(int1 + int2, int1 * int2);
     return tuple;
    }
    Tuple

    新特性(C#7.0)

    static void Main(string[] args)
    {
     int int1 = 25;
     int int2 = 28;
     var result = Add_Multiply(int1, int2);
     Console.WriteLine($"Add: {result.add}, Multiply: {result.multiply}");
     //(var add, var multiply) = Add_Multiply(int1, int2);
     //Console.WriteLine($"Add: {add}, Multiply: {multiply}");
    }
    public (int add, int multiply) Add_Multiply(int int1, int int2) 
     => (int1 + int2, int1 * int2);
    C#7.0语法
  • 相关阅读:
    第四章 数组和方法
    JAVA基础笔记
    ios navigationcontroller add multi navigationItem
    Objective-C Runtime能做什么?
    在Xcode中使用Git进行源码版本控制
    分析iOS Crash文件:符号化iOS Crash文件的3种方法
    Core Animation Layer(22)
    Touch Events and UIResponder(19)
    UIPopoverController and Modal View Controllers(13)
    Subclassing UITableViewCell(15)
  • 原文地址:https://www.cnblogs.com/Bruke/p/8880640.html
Copyright © 2011-2022 走看看