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语法
  • 相关阅读:
    [jQuery学习系列六]6-jQuery实际操作小案例
    [Java拾遗一] XML的书写规范与解析.
    [数据库操作]Java中的JDBC的使用方法.
    [Java拾遗二]Tomact及Http 部分总结.
    [Java拾遗三]JavaWeb基础之Servlet
    [Java拾遗四]JavaWeb基础之Servlet_Request&&Response
    [Java拾遗五]使用Session防止表单重复提交
    [数据库连接池] Java数据库连接池--DBCP浅析.
    [开发工具]Java开发常用的在线工具
    [数据库连接池二]Java数据库连接池--C3P0和JDNI.
  • 原文地址:https://www.cnblogs.com/Bruke/p/8880640.html
Copyright © 2011-2022 走看看