連載「.NET TIPS」 メソッドに引数を渡す方法に、値渡しと参照渡しがある。さらにC#では、メソッドの引数リストで参照渡しを宣言するために、in/out/refの3通りのパラメーター修飾子がある。inパラメーター修飾子はC# 7.2の新機能だ。本稿では、この参照渡しのin/out/refの使い方の違いを解説する。
![in/out/refパラメーター修飾子の違いとは?[C#]](https://cdn-ak-scissors.b.st-hatena.com/image/square/6154b3877a59c70971f6bc97c5c7cbe484f2b45d/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fait%2Farticles%2F1804%2F25%2Fl_dt-02.gif)
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 既定では、C# の引数は値渡しで関数に渡されます。 つまり、変数のコピーがメソッドに渡されます。 値 (struct) の型の場合、値のコピーがメソッドに渡されます。 参照 (class) 型の場合、参照のコピーがメソッドに渡されます。 パラメーター修飾子を使用すると、引数を参照渡しできます。 構造体は値型であるため、メソッドに値渡しで構造体を渡すと、メソッドは引数のコピーを受け取って操作します。 メソッドは、呼び出し側メソッドの元の構造体にはアクセスできないため、どのような場合でもこの構造体を変更することはできません。 メソッドで変更できるのはコピーのみです。 クラス インスタンスは、値の型ではなく、参照型
スレッド安全性 パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。 例 // C# using System; using System.Data; using Oracle.DataAccess.Client; class OracleConnectionSample { static void Main() { // Connect string constr = "User Id=scott;Password=tiger;Data Source=oracle"; OracleConnection con = new OracleConnection(constr); con.Open(); // Execute a SQL SELECT OracleCommand cmd = con.CreateCommand(); cmd.Co
最近のネットワークで使用されている多くのプロトコル用の単純なプログラミング インターフェイスを提供します。 System.Net 名前空間のクラスは Windows ストア スタイルのアプリケーションまたはデスクトップ アプリケーションで使用できます。 Windows ストア アプリで使用する場合、System.Net 名前空間のクラスはネットワークの分離機能の影響を受けます。この機能は、Windows Developer Preview によって使用されるアプリケーション セキュリティ モデルの一部です。 Windows ストア アプリによるネットワーク アクセスがシステムで許可されるようにするには、Windows ストア アプリのアプリケーション マニフェストで適切なネットワーク機能を有効にする必要があります。 詳細については、「Network Isolation for Window
概要 継承(inheritance)とはオブジェクト指向の中核を担う概念で、 あるクラスから性質を受け継いだ新しいクラスを作ることです。 継承は派生(derivation)とも呼ばれます。 ポイント オブジェクト指向の中核概念その2: 継承。 「人間」⊃「学生」のように、包含関係のあるものを表現する方法。 「学生は人間を継承する」、「学生は人間から派生する」などと言う。 class Person { ... } に対して、class Student : Person { ... } と書く。 継承関係とは 継承関係の例として、「人間」と「学生」という2つのクラスについて考えて見ましょう。 「学生」は「人間」の一部です。 すなわち、「学生」ならば必ず「人間」としての特徴を備えています。 それとは逆に「人間」だからといって必ずしも「学生」であるとはいえません。 つまり、「学生」は「人間」の特別
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く