2021年12月20日
川俣晶の縁側ソフトウェアnew_C#入門・全キーワード明快解説!total 996 count

.(メンバー アクセス)演算子: 2つの役割の使い分けをマスターしよう!

Written By: 川俣 晶連絡先

この章のテーマ §

 .(メンバー アクセス)演算子について学びます。この演算子の主要な使い方は2つあります。

前提知識 §

Console.WriteLineメソッド, 文字列の基礎, 変数の基礎, 配列の基礎, string型, foreach文

解説 §

 .演算子(メンバー アクセス演算子)は、型が持っている機能にアクセスするための演算子です。

 たとえば、int.MavValueと書いてint型の最大値が得られるのは、int型という型が持っているMavValueという機能にアクセスしているわけです。

 .演算子の使い方はいろいろありますが、メンバーへのアクセスは大きく分けて2つの使い方があります。

 一つは型名.機能名として使う方法です。サンプルソースのstring.Joinがそれにあたります。

 もう1つは、値.機能名として使う方法です。サンプルソースのr1.Splitがそれにあたります。

 この2つは厳密に区別して使わねばなりません。

 特定の値に関係しない機能は前者。

 特定の値に関係する機能は後者です。

 複数の文字列を合体させて新しい文字列を産み出すJoinメソッドは特定の値には関係していません。

 しかし、文字列を分解するSplitメソッドは、分解すべき文字列と密接に結びついていて、特定の値に関係しています。

 値を相手に処理する場合は、それが定数でも変数でも複雑な式でも利用が可能です。

罠の数々 §

  • 特定の値に関係しない機能は厳密には【静的】という。宣言する時にstaticキーワードを付けて明示するが、使うだけなら意識しなくても良い
  • 原理的には、特定の値に強く結びついた静的な機能、あるいは、特定の値に結びついていないのに静的ではない機能も定義できるので、希に分類が上手く行かないことがある

参考リンク §

メンバー アクセス演算子と式 (C# リファレンス)

サンプルソース: memberAccessOperator §

Console.WriteLine("文字列合体!");

string[] array = new string[] { "ONE", "TWO", "THREE" };

var r1 = string.Join(",", array);

Console.WriteLine(r1);

Console.WriteLine("文字列分離!");

string[] r2 = r1.Split(',');

foreach (var item in r2) Console.WriteLine($"{item}");

実行結果 §

文字列合体!

ONE,TWO,THREE

文字列分離!

ONE

TWO

THREE

リポジトリ §

https://github.com/autumn009/CSharpPrimer2

練習問題 §

 以下のプログラムの実行結果を予測してみよう。ToStringメソッドは、指定した値を文字列に変換するメソッドである。

string? a = null;

Console.WriteLine(a.ToString());

  1. 何も出力されない
  2. nullが出力される
  3. 'null'が出力される
  4. "null"が出力される
  5. 例外が起きる

[[解答]]

Facebook

キーワード【 川俣晶の縁側ソフトウェアnew_C#入門・全キーワード明快解説!
【new_C#入門・全キーワード明快解説!】の次のコンテンツ
2021年
12月
21日
??演算子: null脱出の近道!!
3days 0 count
total 735 count
【new_C#入門・全キーワード明快解説!】の前のコンテンツ
2021年
12月
19日
*= /= %= += -= <<= >>= &= ^= |= : 複合代入で文字数節約
3days 0 count
total 702 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

https://mag.autumn.org/tb.aspx/20211220093853
サイトの表紙【new_C#入門・全キーワード明快解説!】の表紙【new_C#入門・全キーワード明快解説!】のコンテンツ全リスト 【new_C#入門・全キーワード明快解説!】の入手全リスト 【new_C#入門・全キーワード明快解説!】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.