アフィリエイト広告を利用しています

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2018年05月16日

【018】文字型 と 1文字の文字列型


 文字型 と 1文字の文字列型

 下記のプログラムの説明です。

(1)
 文字型配列(Char[]型) c を作ります。
    Char[] c = new Char[] { 'あ', 'い', 'う' };

 foreach文で1文字ずつ取り出しています。
    foreach (Char val in c)
    {
      Console.Write($"{val} ");
    }

(2)
 文字列型(String型)のコンストラクタに引数として c を渡し、文字列 s を作っています。
    String s = new String(c) + "えお"; (ついでに、"えお" を加えました。)

 foreach文で1文字ずつ取り出す場合は、Char型文字として取り出すことになります(String型で取り出そうとするとエラーになります)。
    foreach (Char val in s)
    {
      Console.Write($"{val} ");
    }

 for文で、s[i] を使って1文字ずつ取り出すこともできますが、
    for(var i = 0; i < s.Length; i++)
    {
      Console.Write($"{s[i]} ");
    }
この場合でも、
    Console.WriteLine(s[0].GetType().FullName);
として 型を調べると Char型です。

(3)
 上の結果から、1文字の場合は必ずChar型になってしまうような気がしますが、
    String s1 = "あ";
    Console.WriteLine(s1.GetType().FullName);
の結果は String となるので、この場合は、1文字でも文字列型であることがわかります。

(4)
 文字型の1文字を、文字列型に変換しています。
    Char c1 = 'さ';
    String s2 = c1.ToString();

 1文字の文字列型を、文字型に変換しています。
    Char c2 = s2[0];


using System;

namespace ConsoleApp5
{
class Program
{
static void Main(string[] args)
{
// (1) 文字型の配列
Char[] c = new Char[] { 'あ', 'い', 'う' };
Console.WriteLine(c);
Console.WriteLine(c.GetType().FullName);

foreach (Char val in c)
{
Console.Write($"{val} ");
}
Console.Write("\n\n");


// (2) 文字列型
String s = new String(c) + "えお";
Console.WriteLine(s);
Console.WriteLine(s.GetType().FullName);

foreach (Char val in s)
{
Console.Write($"{val} ");
}
Console.WriteLine();

for (var i = 0; i < s.Length; i++)
{
Console.Write($"{s[i]} ");
}
Console.WriteLine();
Console.WriteLine(s[0].GetType().FullName);
Console.WriteLine();

// (3)
String s1 = "あ";
Console.WriteLine(s1.GetType().FullName);
Console.WriteLine();

// (4)
Char c1 = 'さ';
String s2 = c1.ToString();
Console.WriteLine(s2.GetType().FullName);
Char c2 = s2[0];
Console.WriteLine(c2.GetType().FullName);
}
}
}

cs_b0041.png



ファン
検索
<< 2018年05月 >>
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
最新記事
写真ギャラリー
最新コメント
タグクラウド
カテゴリーアーカイブ
月別アーカイブ
プロフィール
×

この広告は30日以上新しい記事の更新がないブログに表示されております。