亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何重命名返回元組項目?

如何重命名返回元組項目?

C#
胡子哥哥 2022-08-20 16:23:03
我是C#新功能的新手,稱為元組。我在元組上寫了一些代碼。當元組由方法返回時(元組包含多個值)。斷續器string firstNumber = separateNumbers.Item1;string secondNumber = separateNumbers.Item2;string thirdNumber = separateNumbers.Item3;string fourthNumber = separateNumbers.Item4;在實際的單詞場景中,識別哪個項目包含哪個值變得復雜?所以我想提供一些具體的名稱,而不是項目1,項目2等...如何做到這一點?提前致謝。法典:namespace CSharp_Tuples{    class Program    {        static void Main(string[] args)        {            string PhoneNumbers = "+92315 +92316 +92317 +92318";            var separateNumbers = GetIndividualNumbers(PhoneNumbers);            string firstNumber = separateNumbers.Item1;            string secondNumber = separateNumbers.Item2;            string thirdNumber = separateNumbers.Item3;            string fourthNumber = separateNumbers.Item4;            Console.WriteLine(firstNumber);            Console.WriteLine(secondNumber);            Console.WriteLine(thirdNumber);            Console.WriteLine(fourthNumber);        }        static Tuple<string, string, string, string> GetIndividualNumbers(string allNumbers)        {            string[] numbers  = allNumbers.Split(' ');            return Tuple.Create<string,string,string,string>(numbers[0],numbers[1],numbers[2],numbers[3]);        }    }}
查看完整描述

2 回答

?
慕田峪9158850

TA貢獻1794條經驗 獲得超7個贊

C# 7.0 元組功能使用 ValueTuple,而不是舊的元組。

使用該功能,您可以執行如下操作:


namespace CSharp_Tuples

{

    class Program

    {

        static void Main(string[] args)

        {

            string PhoneNumbers = "+92315 +92316 +92317 +92318";


            var numbers = UsingValueTuple(PhoneNumbers);


            Console.WriteLine("firstNumber : " + numbers.firstNumber);

            Console.WriteLine("secondNumber : " + numbers.secondNumer);

            Console.WriteLine("thirdNumber : " + numbers.thirdNumber);

            Console.WriteLine("fourthNumber : " + numbers.fourthNumber);

        }


        static (string firstNumber, string secondNumer, string thirdNumber, string fourthNumber) UsingValueTuple(string allNumbers)

        {

            string[] numbers = allNumbers.Split(' ');

            return (numbers[0], numbers[1], numbers[2], numbers[3]);

        }

    }

}


查看完整回答
反對 回復 2022-08-20
?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

進一步我研究了這個問題,我得到了結論。

結論:

關于問題:

所以我想提供一些具體的名稱,而不是項目1,項目2等...如何做到這一點?

  • 元組不允許我們重命名返回值,相反,我們可以使用匿名類型。

法典:

namespace CSharp_Tuples

{

    class Program

    {

        static void Main(string[] args)

        {

            string PhoneNumbers = "+92315 +92316 +92317 +92318";


            //var separateNumbers = GetIndividualNumbers(PhoneNumbers);


            //string firstNumber = separateNumbers.Item1;

            //string secondNumber = separateNumbers.Item2;

            //string thirdNumber = separateNumbers.Item3;

            //string fourthNumber = separateNumbers.Item4;


            //Console.WriteLine(firstNumber);

            //Console.WriteLine(secondNumber);

            //Console.WriteLine(thirdNumber);

            //Console.WriteLine(fourthNumber);



            var numbers = Cast(usingAnonymouseObject(PhoneNumbers), new {

                                                                        firstNumber = "",

                                                                        secondNumer = "",

                                                                        thirdNumber = "",

                                                                        fourthNumber = ""

                                                                        });

            Console.WriteLine("firstNumber : " + numbers.firstNumber);

            Console.WriteLine("secondNumber : " + numbers.secondNumer);

            Console.WriteLine("thirdNumber : " + numbers.thirdNumber);

            Console.WriteLine("fourthNumber : " + numbers.fourthNumber);



        }

        //static Tuple<string, string, string, string> GetIndividualNumbers(string allNumbers)

        //{

        //    string[] numbers  = allNumbers.Split(' ');

        //    return Tuple.Create<string,string,string,string>(numbers[0],numbers[1],numbers[2],numbers[3]);

        //}


        static object usingAnonymouseObject(string allNumbers)

        {

            string[] numbers = allNumbers.Split(' ');

            return new { firstNumber = numbers[0], secondNumer = numbers[1], thirdNumber = numbers[2], fourthNumber = numbers[3] };

        }


        static T Cast<T>(object obj, T type)

        {

            return (T)obj;

        }

    }

}


查看完整回答
反對 回復 2022-08-20
  • 2 回答
  • 0 關注
  • 134 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號