連載「.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)
注意 このページにアクセスするには、承認が必要です。 サインインまたはディレクトリの変更を試すことができます。 このページにアクセスするには、承認が必要です。 ディレクトリの変更を試すことができます。 既定では、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
重要 一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。 最近のネットワークで使用されている多くのプロトコル用の単純なプログラミング インターフェイスを提供します。 System.Net 名前空間のクラスは Windows ストア スタイルのアプリケーションまたはデスクトップ アプリケーションで使用できます。 Windows ストア アプリで使用する場合、System.Net 名前空間のクラスはネットワークの分離機能の影響を受けます。この機能は、Windows Developer Preview によって使用されるアプリケーション セキュリティ モデルの一部です。 Windows ストア アプリによるネットワーク アクセスがシステムで許可されるよ
概要 継承(inheritance)とはオブジェクト指向の中核を担う概念で、 あるクラスから性質を受け継いだ新しいクラスを作ることです。 継承は派生(derivation)とも呼ばれます。 ポイント オブジェクト指向の中核概念その2: 継承。 「人間」⊃「学生」のように、包含関係のあるものを表現する方法。 「学生は人間を継承する」、「学生は人間から派生する」などと言う。 class Person { ... } に対して、class Student : Person { ... } と書く。 継承関係とは 継承関係の例として、「人間」と「学生」という2つのクラスについて考えて見ましょう。 「学生」は「人間」の一部です。 すなわち、「学生」ならば必ず「人間」としての特徴を備えています。 それとは逆に「人間」だからといって必ずしも「学生」であるとはいえません。 つまり、「学生」は「人間」の特別
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く