C#

  1. 静的クラス

    # 静的クラス クラスを参照するときの「静的」キーワードには、次の 3 つの効果があります。 あなたはできません 静的クラスのインスタンスを作成します (これにより、デフォルトのコンストラクターも削除されます) クラスのすべてのプロパティとメソッドはする必要があります 静的であることも重要です。 A static クラスは sealed です つまり、継承できません。 public static class Foo { //Notice there is no constructor as this cannot be an instance public stati

  2. インターフェース

    # インターフェースの実装 インターフェイスは、メソッドを「実装」するクラスにメソッドの存在を強制するために使用されます。インターフェイスはキーワード interface で定義されます クラスは : InterfaceName を追加することでそれを「実装」できます クラス名の後に。クラスは、各インターフェイスをコンマで区切ることにより、複数のインターフェイスを実装できます。 : InterfaceName, ISecondInterface public interface INoiseMaker { string MakeNoise(); } public class C

  3. アクセス修飾子

    # アクセス修飾子図 以下は、より制限的なものからよりアクセスしやすいものまで、ベン図のすべてのアクセス修飾子です: アクセス修飾子 ダイアグラム 非公開 内部 保護 保護された内部 公開 詳細については、以下を参照してください。 # パブリック public キーワードは、クラス (ネストされたクラスを含む)、プロパティ、メソッド、またはフィールドをすべての消費者が利用できるようにします: public class Foo() { public string SomeProperty { get; set; } pub

  4. Null 許容型

    # nullable の初期化 null の場合 値: Nullable<int> i = null; または: int? i = null; または: var i = (int?)null; null 以外の値の場合: Nullable<int> i = 0; または: int? i = 0; # Nullable に値があるかどうかをチェックします int? i = null; if (i != null) { Console.WriteLine("i is not null"); } else {

  5. 鋳造

    # オブジェクトを基本型にキャスト 以下の定義が与えられた場合: public interface IMyInterface1 { string GetName(); } public interface IMyInterface2 { string GetName(); } public class MyClass : IMyInterface1, IMyInterface2 { string IMyInterface1.GetName() { return "IMyInterface1"; } st

  6. 型変換

    # MSDN の暗黙的な演算子の例 class Digit { public Digit(double d) { val = d; } public double val; // User-defined conversion from Digit to double public static implicit operator double(Digit d) { Console.WriteLine("Digit to double implict conversion called"); retu

  7. ダイナミック型

    # プロパティを持つ動的オブジェクトの作成 using System; using System.Dynamic; dynamic info = new ExpandoObject(); info.Id = 123; info.Another = 456; Console.WriteLine(info.Another); // 456 Console.WriteLine(info.DoesntExist); // Throws RuntimeBinderException # 動的変数の作成 dynamic foo = 123; Console.WriteLine(foo + 234

  8. 匿名型

    # 匿名 vs 動的 匿名型を使用すると、事前に型を明示的に定義しなくても、静的な型チェックを維持しながらオブジェクトを作成できます。 var anon = new { Value = 1 }; Console.WriteLine(anon.Id); // compile time error 逆に dynamic コンパイル時エラーの代わりに実行時エラーを選択して、動的型チェックを行います。 dynamic val = "foo"; Console.WriteLine(val.Id); // compiles, but throws runtime error

  9. 組み込み型のエイリアス

    # 組み込み型テーブル 次の表は、組み込みの C# のキーワードを示しています。 型。これは、システム名前空間の事前定義された型のエイリアスです。 C# タイプ .NET Framework の種類 ブール System.Boolean バイト System.Byte バイト System.SByte 文字 System.Char 10 進数 System.Decimal ダブル System.Double フロート System.Single 整数 System.Int32 単位 System.UInt32 長い System.Int64 ロング System.UI

  10. 組み込み型

    # ボックス化された値の型の変換 ボックス化された値の型は、元の Type にのみボックス化を解除できます 、2 つの Type の変換であっても s は有効です。例: object boxedInt = (int)1; // int boxed in an object long unboxedInt1 = (long)boxedInt; // invalid cast これは、最初に元の Type にボックス化解除することで回避できます 例: long unboxedInt2 = (long)(int)boxedInt; // valid # 不変参照型 - 文字列 // a

  11. 値型 vs 参照型

    # ref キーワードを使用した参照渡し ドキュメントから: C# では、値または参照によって引数をパラメーターに渡すことができます。参照渡しにより、関数メンバー、メソッド、プロパティ、インデクサー、演算子、およびコンストラクターでパラメーターの値を変更し、その変更を呼び出し元の環境に保持できます。パラメータを参照渡しするには、`ref` または `out` キーワードを使用します。 ref の違い と out それは out です 関数が終了する前に、渡されたパラメーターを割り当てる必要があることを意味します。対照的に、ref で渡されたパラメーター 変更することも変更しないこともでき

  12. IEnumerable

    IEnumerable 列挙可能な ArrayList などのすべての非ジェネリック コレクションの基本インターフェイスです。 IEnumerator<T> List<>. などのすべての汎用列挙子の基本インターフェイスです。 IEnumerable メソッド GetEnumerator を実装するインターフェースです . GetEnumerator メソッドは IEnumerator を返します foreach のようにコレクションを反復処理するオプションを提供します。 # カスタム列挙子を使用した IEnumerable IEnumerable インターフェイスを実装すると

  13. イテレータ

    # Yield を使用してイテレータを作成する イテレータは生成します 列挙子。 C# では、列挙子は、yield を含むメソッド、プロパティ、またはインデクサーを定義することによって生成されます。 ほとんどのメソッドは、通常の return を介して呼び出し元に制御を返します このステートメントは、そのメソッドに対してローカルなすべての状態を破棄します。対照的に、yield を使用するメソッドは、 ステートメントを使用すると、保持しながら、要求に応じて呼び出し元に複数の値を返すことができます それらの値を返す中間のローカル状態。これらの戻り値はシーケンスを構成します。 yield には

  14. ループ

    # Foreach ループ foreach は IEnumerable を実装するクラスの任意のオブジェクトを反復処理します (IEnumerable<T> に注意してください それを継承しています)。このようなオブジェクトには、いくつかの組み込みオブジェクトが含まれますが、これらに限定されません:List<T> 、 T[] (任意のタイプの配列)、Dictionary<TKey, TSource> 、および IQueryable のようなインターフェース と ICollection など 構文 foreach(ItemType itemVariabl

  15. C# コレクションの概要

    # ハッシュセット これは、O(1) ルックアップを使用した一意のアイテムのコレクションです。 HashSet<int> validStoryPointValues = new HashSet<int>() { 1, 2, 3, 5, 8, 13, 21 }; bool containsEight = validStoryPointValues.Contains(8); // O(1) 比較のために、Contains を実行します。 リストではパフォーマンスが低下します: List<int> validStoryPointValues = new

  16. コレクション初期化子

    # コレクション初期化子 コレクション型を値で初期化します: var stringList = new List<string> { "foo", "bar", }; コレクション初期化子は Add() のシンタックス シュガーです 呼び出します。上記のコードは次と同等です: var temp = new List<string>(); temp.Add("foo"); temp.Add("bar"); var stringList = temp; 競合状態を避

  17. BigInteger

    # 最初の 1,000 桁のフィボナッチ数を計算 using System.Numerics を含める System.Numerics への参照を追加します プロジェクトに。 using System; using System.Numerics; namespace Euler_25 { class Program { static void Main(string[] args) { BigInteger l1 = 1; BigInteger l2 = 1; BigI

  18. ガイド

    GUID (または UUID) は、「Globally Unique Identifier」(または「Universally Unique Identifier」) の頭字語です。リソースを識別するために使用される 128 ビットの整数です。 # Guid の文字列表現の取得 Guid の文字列表現は、組み込みの ToString を使用して取得できます。 メソッド string myGuidString = myGuid.ToString(); 必要に応じて、フォーマット タイプ引数を ToString に追加することで、Guid をフォーマットすることもできます。 var gui

  19. タプル

    # タプル要素へのアクセス タプル要素にアクセスするには Item1 を使用します -Item8 プロパティ。インデックス番号がタプル サイズ以下のプロパティのみが使用可能になります (つまり、Item3 にアクセスできません)。 Tuple<T1,T2> のプロパティ ). var tuple = new Tuple<string, int, bool, MyClass>("foo", 123, true, new MyClass()); var item1 = tuple.Item1; // "foo" var item2

  20. 列挙型

    列挙型は、byte、sbyte、short、ushort、int、uint、long、ulong のいずれかの型から派生できます。デフォルトは int で、列挙型定義で型を指定することで変更できます: public enum Weekday :byte { 月曜日 =1、火曜日 =2、水曜日 =3、木曜日 =4、金曜日 =5 } これは、ネイティブ コードへの P/Invoking、データ ソースへのマッピング、および同様の状況で役立ちます。通常、ほとんどの開発者は列挙型が int であることを期待しているため、デフォルトの int を使用する必要があります。 # フラグとして列挙 Fl

Total 13414 -C プログラミング  FirstPage PreviousPage NextPage LastPage CurrentPage:6/671  20-C プログラミング/Page Goto:1 2 3 4 5 6 7 8 9 10 11 12