この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 17614|答える: 1

[通信] C#の一般的な例を詳細に説明します

[リンクをコピー]
掲載地 2019/01/28 16:03:40 | | | |
1. ジェネリックとは何か?

ジェネリックはC# 2.0で導入された新しい構文で、構文シュガーではなく、2.0のフレームワークアップグレードによって提供された機能です。

プログラムをプログラムするとき、非常に似た機能を持つモジュールに出会うことが多いですが、それらは異なるデータを扱います。 しかし、異なるデータ型を処理するために複数のメソッドを別々に書くしかありません。 現時点での問題は、異なる種類のパラメータを同じ方法で扱う方法があるかどうかです。 ジェネリック医薬品の登場は、この問題を解決するために特別に設計されています。

2. なぜジェネリックを使うのか

次の例を見てみましょう。
結果:

上記の結果から、これら3つの手法はパラメータが異なる以外は同じ関数を持つことがわかります。 バージョン1.0の当時はジェネリックという概念がなかったので、どうすればいいのかという疑問が残りました。 多くの人はOOPの三大機能のいずれかの継承を考えると思います。C#ではオブジェクトがすべての型のベースクラスであり、上記のコードは以下のように最適化されています。
結果:

上記の結果から、オブジェクト型の使用は要件を満たし、コードの再利用性を解決していることがわかります。 なぜintやstringなどをオブジェクト型として定義しているのにパスできるのか疑問に思う人もいるかもしれません。 理由は二つあります。

1. オブジェクト型はすべての型の親クラスです。

2. 継承により、サブクラスは親クラスのすべての属性と振る舞いを持ち、親クラスが現れる場所はどこでもサブクラスに置き換えることができます。

しかし、上記のオブジェクト型方式はもう一つの問題をもたらします。ボックス化とアンボクシングはプログラムのパフォーマンスを低下させる可能性があります。

MicrosoftはC# 2.0でジェネリックを導入し、上記の問題を非常によく解決できます。

3. 一般的な型パラメータ

ジェネリック型やメソッド定義において、型パラメータとは、クライアントがジェネリック型の変数をインスタンス化する際に特定の型に対して指定するプレースホルダーのことです。 ジェネリッククラス(GenericList<T>)は真の型ではないため、そのまま使用できません。 むしろタイプ設計図のようなものです。 GenericListを使用するには<T>、クライアントコードが型パラメータを角括弧内に指定して構成型を宣言し、インスタンス化しなければなりません。 この特定のクラスの型引数は、コンパイラが認識する任意の型でいることができます。 異なる型パラメータを持つコンストラクト型インスタンスを何度でも作成できます。

上記の例のコードは以下のように修正可能です:
コール:
番組結果:






先の:.NET Core ファイルプロバイダー
次に:MySQLデータベース名、テーブル名、フィールド名クエリ
掲載地 2019/01/29 4:08:13 |
とても良いですね、細かく、基本的なことはもっと復習すべきです
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com