C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#7.0のデコンストラクターとは何ですか?


C#では、同じプログラムで、同じ数のoutパラメーター、または同じ数とタイプのoutパラメーターを異なる順序で複数のデコンストラクターメソッドを使用できます。

これは新しいタプル構文の一部です。これはTuple<>クラスとは関係ありませんが、関数型プログラミングから取っています。

DeconstructキーワードはDeconstructorsに使用されます

public class Employee{
   public Employee(string employeename, string firstName, string lastName){
      Employeename = employeename;
      FirstName = firstName;
      LastName = lastName;
   }
   public string Employeename { get; }
   public string FirstName { get; }
   public string LastName { get; }
   public void Deconstruct(out string employeename, out string firstName, out
   string lastName){
      employeename = Employeename;
      firstName = FirstName;
      lastName = LastName;
   }
}
class Program{
   public static void Main(){
      Employee employee = new Employee("emp", "fname", "lname");
      (string EName, string Fname, string Lname) = employee;
      System.Console.WriteLine(EName);
      System.Console.WriteLine(Fname);
      System.Console.WriteLine(Lname);
      Console.ReadLine();
   }
}

出力

emp
fname
lname

  1. C#の正規表現とは何ですか

    正規表現は、入力テキストと照合できるパターンです。 .NET Frameworkは、そのようなマッチングを可能にする正規表現エンジンを提供します。パターンは、1つ以上の文字リテラル、演算子、または構成要素で構成されます。 たとえば、「S」で始まる単語を照合する場合は、次のコードに示すように、C#で正規表現を使用します- 例 using System; using System.Text.RegularExpressions; namespace Demo {    class Program {       private static v

  2. Java 9のコンパクト文字列とは何ですか?

    Java 9以降、JVMはコンパクトと呼ばれる新機能を使用して文字列を最適化します。 文字列 。 char[を使用する代わりに ] 配列 、文字列は byte []として表すことができます 配列。 UTF-16のいずれかを使用できます またはLatin-1 文字ごとに1バイトまたは2バイトを生成します。 JVMが文字列にISO-8859-1/ Latin-1のみが含まれていることを検出した場合 文字の場合、文字列は内部的に文字ごとに1バイトを使用します。 文字列はコンパクトな文字列で表すことができますが、文字列の作成時に検出されません。この機能はデフォルトで有効になっており、 -XX:-