C#

  1. ストリーム

    # ストリームの使用 ストリームは、データを転送するための低レベルの手段を提供するオブジェクトです。それら自体はデータ コンテナーとして機能しません。 扱うデータはバイト配列(byte [])の形式です )。読み取りと書き込みの関数はすべてバイト指向です。 WriteByte() . 整数や文字列などを処理する関数はありません。これにより、ストリームは非常に汎用的になりますが、たとえばテキストを転送したいだけの場合は、操作が簡単ではなくなります。ストリームは、大量のデータを扱う場合に特に役立ちます。 書き込み/読み取りが必要な場所 (つまり、バッキング ストア) に基づいて、さまざまな

  2. チェックありとチェックなし

    # チェック済みと未チェック C# ステートメントは、checked または unchecked コンテキストで実行されます。チェックされたコンテキストでは、算術オーバーフローによって例外が発生します。チェックされていないコンテキストでは、算術オーバーフローは無視され、結果は切り捨てられます。 short m = 32767; short n = 32767; int result1 = checked((short)(m + n)); //will throw an OverflowException int result2 = unchecked((short)(m + n

  3. インデクサー

    # シンプルなインデクサー class Foo { private string[] cities = new[] { "Paris", "London", "Berlin" }; public string this[int index] { get { return cities[index]; } set { cities[index] = value; } } } 用途:

  4. 不変性

    # System.String クラス C# (および .NET) では、文字列は System.String クラスで表されます。 string キーワードは、このクラスのエイリアスです。 System.String クラスは不変です。つまり、いったん作成されるとその状態は変更できません。 したがって、部分文字列、削除、置換、+ を使用した連結など、文字列に対して実行するすべての操作は 演算子などは、新しい文字列を作成して返します。 デモンストレーションについては、次のプログラムを参照してください - string str = "mystring"; string

  5. ポリモーフィズム

    # ポリモーフィズムの種類 ポリモーフィズムは、操作を他の型の値にも適用できることを意味します。 ポリモーフィズムには複数のタイプがあります: **アドホック ポリモーフィズム:** 「関数のオーバーロード」が含まれています。目標は、ジェネリックである必要なく、異なる型でメソッドを使用できることです。 **パラメトリック ポリモーフィズム:** ジェネリック型の使用です。 [ジェネリック](http://stackoverflow.com/documentation/c%23/27/generics)を参照 **サブタイプ:** 同様の機能を一般化するクラスのターゲット継承を持ってい

  6. アクション フィルター

    # カスタム アクション フィルタ さまざまな理由から、カスタム アクション フィルターを作成します。ロギング用、またはアクション実行前にデータをデータベースに保存するためのカスタム アクション フィルタがある場合があります。データベースからデータをフェッチし、それをアプリケーションのグローバル値として設定するためのものもあるでしょう。 カスタム アクション フィルターを作成するには、次のタスクを実行する必要があります。 クラスを作成する ActionFilterAttribute クラスから継承 次のメソッドの少なくとも 1 つをオーバーライドします: OnActionExec

  7. 非同期ソケット

    非同期ソケットを使用することにより、サーバーは着信接続をリッスンし、その間に他のロジックを実行できます。同期ソケットとは対照的に、リッスンしているときにメインスレッドをブロックし、アプリケーションが応答しなくなり、クライアントが接続するまでフリーズします. # 非同期ソケット (クライアント / サーバー) の例 サーバー側の例 サーバーのリスナーを作成 接続するクライアントと送信されるリクエストを処理するサーバーの作成から始めます。したがって、これを処理するリスナー クラスを作成してください。 class Listener { public Socket ListenerS

  8. ユーザー名とパスワードでネットワーク共有フォルダーにアクセスする

    PInvoke を使用してネットワーク共有ファイルにアクセスしています。 # ネットワーク共有ファイルにアクセスするコード public class NetworkConnection : IDisposable { string _networkName; public NetworkConnection(string networkName, NetworkCredential credentials) { _networkName = networkName;

  9. HTTP リクエストの実行

    # HTTP POST リクエストの作成と送信 using System.Net; using System.IO; ... string requestUrl = "https://www.example.com/submit.html"; HttpWebRequest request = HttpWebRequest.CreateHttp(requestUrl); request.Method = "POST"; // Optionally, set properties of the HttpWebRequest, such as: requ

  10. ネットワーキング

    # 基本的な TCP 通信クライアント このコード例は、TCP クライアントを作成し、ソケット接続を介して「Hello World」を送信し、接続を閉じる前にサーバーの応答をコンソールに書き込みます。 // Declare Variables string host = "stackoverflow.com"; int port = 9999; int timeout = 5000; // Create TCP client and connect using (var _client = new TcpClient(host, port)) using (var _n

  11. デリゲート

    # デリゲート型の宣言 次の構文は delegate を作成します NumberInOutDelegate という名前のタイプ int を取るメソッドを表す int を返します . public delegate int NumberInOutDelegate(int input); これは次のように使用できます: public static class Program { static void Main() { NumberInOutDelegate square = MathDelegates.Square; int answer1

  12. 属性

    # カスタム属性の作成 //1) All attributes should be inherited from System.Attribute //2) You can customize your attribute usage (e.g. place restrictions) by using System.AttributeUsage Attribute //3) You can use this attribute only via reflection in the way it is supposed to be used //4) MethodMetadataAttribu

  13. プリプロセッサ ディレクティブ

    # 条件式 以下をコンパイルすると、定義されているディレクティブに応じて異なる値が返されます。 // Compile with /d:A or /d:B to see the difference string SomeFunction() { #if A return "A"; #elif B return "B"; #else return "C"; #endif } 条件式は通常、デバッグ ビルドの追加情報をログに記録するために使用されます。 void SomeFunc() { try

  14. BindingList<T>

    # リストに項目を追加 BindingList<string> listOfUIItems = new BindingList<string>(); listOfUIItems.Add("Alice"); listOfUIItems.Add("Bob"); # N*2 反復の回避 これは、Windows フォームのイベント ハンドラーに配置されます var nameList = new BindingList<string>(); ComboBox1.DataSource = nameList; for(long

  15. 過負荷の解決

    # 基本的なオーバーロードの例 このコードには、Hello という名前のオーバーロードされたメソッドが含まれています : class Example { public static void Hello(int arg) { Console.WriteLine("int"); } public static void Hello(double arg) { Console.WriteLine("double"); } public static void M

  16. 式ツリー

    # ラムダ式で式ツリーを作成 以下は、ラムダによって作成される最も基本的な式ツリーです。 Expression<Func<int, bool>> lambda = num => num == 42; 「手で」式ツリーを作成するには、 Expression を使用する必要があります クラス。 上記の式は次と同等です: ParameterExpression parameter = Expression.Parameter(typeof(int), "num"); // num argument ConstantExpression co

  17. イベント

    イベントとは、何かが発生したこと (マウス クリックなど)、または場合によっては発生しようとしている (価格変更など) という通知です。 クラスはイベントを定義でき、そのインスタンス (オブジェクト) はこれらのイベントを発生させることができます。たとえば、ボタンには、ユーザーがクリックしたときに発生する Click イベントが含まれている場合があります。 イベント ハンドラーは、対応するイベントが発生したときに呼び出されるメソッドです。たとえば、フォームには、フォームに含まれるすべてのボタンの Clicked イベント ハンドラーが含まれる場合があります。 # イベントの宣言と発生 #

  18. INotifyPropertyChanged インターフェイス

    # C# 6 での INotifyPropertyChanged の実装 INotifyPropertyChange の実装 インターフェイスはプロパティ名を文字列として指定する必要があるため、エラーが発生しやすい可能性があります。実装をより堅牢にするために、属性 CallerMemberName 使用できます。 class C : INotifyPropertyChanged { // backing field int offset; // property public int Offset { get {

  19. プロパティの初期化

    # C# 6.0:自動実装プロパティの初期化 getter および/または setter を使用してプロパティを作成し、すべてを 1 行で初期化します。 public string Foobar { get; set; } = "xyz"; # バッキング フィールドによるプロパティの初期化 public string Foobar { get { return _foobar; } set { _foobar = value; } } private string _foobar = "xyz"; # コンストラクターでのプ

  20. プロパティ

    # 自動実装プロパティ 自動実装プロパティは C# 3 で導入されました。 自動実装されたプロパティは、空のゲッターとセッター (アクセサー) で宣言されます: public bool IsValid { get; set; } 自動実装プロパティがコードに記述されると、コンパイラは、プロパティのアクセサーを介してのみアクセスできる非公開の匿名フィールドを作成します。 上記の自動実装されたプロパティ ステートメントは、次の長いコードを記述することと同じです: private bool _isValid; public bool IsValid { get { return

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