Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

จะคืนค่าหลายค่าไปยังวิธีการผู้โทรใน c # ได้อย่างไร


Tuple สามารถใช้เพื่อคืนค่าหลายค่าจากวิธีการใน C # ช่วยให้เราสามารถจัดเก็บชุดข้อมูลที่ประกอบด้วยค่าต่างๆ ที่อาจเกี่ยวข้องหรือไม่เกี่ยวข้องกันหรือไม่ก็ได้ Tuple ล่าสุดที่เรียกว่า ValueTuple คือ C# 7.0 (.NET Framework 4.7)

ValueTuples มีทั้งประสิทธิภาพและอ้างอิงได้โดยใช้ชื่อที่โปรแกรมเมอร์เลือก ValueTuple จัดเตรียมกลไกที่มีน้ำหนักเบาสำหรับการคืนค่าหลายค่าจากวิธีการที่มีอยู่ ValueTuples จะพร้อมใช้งานใน แพ็คเกจ System.ValueTupleNuGet .

สาธารณะ (int, string, string) GetPerson() { }

ตัวอย่างที่ 1

using System;
namespace DemoApplication{
   class Program{
      public static void Main(){
         var fruits = GetFruits();
         Console.WriteLine($"Fruit Id: {fruits.Item1}, Name: {fruits.Item2}, Size:
         {fruits.Item3}");
         Console.ReadLine();
      }
      static (int, string, string) GetFruits(){
         return (Id: 1, FruitName: "Apple", Size: "Big");
      }
   }
}

ผลลัพธ์

ผลลัพธ์ของโค้ดด้านบนคือ

Fruit Id: 1, Name: Apple, Size: Big

ในตัวอย่างข้างต้น เราจะเห็นว่าเมธอด GetFruits() ส่งคืนค่าหลายค่า (int, string, string) ค่าของ tuples เข้าถึงได้โดยใช้ fruits.Item1, fruits.Item2, fruits.Item3.

นอกจากนี้เรายังสามารถดึงข้อมูลสมาชิกแต่ละคนได้โดยใช้การถอดรหัส

(int FruitId, สตริง FruitName, สตริง FruitSize) =GetFruits();

ตัวอย่างที่ 2

using System;
namespace DemoApplication{
   class Program{
      public static void Main(){
         (int FruitId, string FruitName, string FruitSize) = GetFruits();
         Console.WriteLine($"Fruit Id: {FruitId}, Name: {FruitName}, Size:
         {FruitSize}");
         Console.ReadLine();
      }
      static (int, string, string) GetFruits(){
         return (Id: 1, FruitName: "Apple", Size: "Big");
      }
   }
}

ผลลัพธ์

ผลลัพธ์ของโค้ดด้านบนคือ

Fruit Id: 1, Name: Apple, Size: Big