バーラル @ ウィキ

Cシャープの覚書【入門編】

入門編は4回に分けて書く予定です^^ Total《 -

C#の覚書【入門1】


とりあえずインストールはC# 2008 Expess Editoion

どうやって書くのかちょっとわかんない(ほぼCしか知らない)からネットで検索して、http://ufcpp.net/study/csharp/index.html#intro
このサイトに決めた!!

まずは最初から読んでいって・・・・なかなかおもしろそうだ!

【表示と変数】
コンソールアプリケーションでプロジェクトの雛形作成
自動記述された部分のメインの中で
cwと打ってtabを2回押すと自動的にConsole.WriteLine();
ここまで記述されるなんて便利なんだ!コードスニペットというらしい。

調べてみると・・・偉大な先輩方が
「同じプログラムを何度も書いている!!よし、サブルーチンだ!!」
「別プログラムだが使いたいコードがある!!よし、ライブラリだ!!」
「基本的なコードは同じだけど内容が違う!!よし、デザインパターンだ!!」
「ライブラリやデザインパターンにするまでもないがもっと細かいレベルでの反復コードがある・・・が数が膨大だ・・・どうしよう・・・そうだ!!!!!よし、コードスニペットだ!!」
って感じらしい。

ってかコードスニペットが生まれたのは2005年くらいなのか・・・まだまだ勉強がたりないなw

プログラミングに戻るか・・・


 namespace ConsoleApplication1
 {
   class Program
   {
       static void Main(string[] args)
       {
           Console.WriteLine("hello world!!");
           int i=10;
           Console.WriteLine(i);
           double x=1.0;
           Console.WriteLine(x);
           var y=20;
           Console.WriteLine(y);     
           } 
       }
   }
 }

ここまで書いて、var型が気になる・・・・型推論というものらしい!

以下ウィキペディア参照情報
ほとんどの言語においては、すべての値は、その値がもつデータの種類を表す型をもつ。実行時にならないと型がわからない言語を動的型付けの言語という。一方、コンパイル時に型がわかる言語を静的型付けの言語という。静的型付けの言語において、関数の入力および出力の型やローカル変数の型は、通常は明示的に表記する必要がある。例えば、次はC言語の例である。
 int addone(int x) {
   int result;
   result = x+1;
   return result;
 }
関数定義の最初の行int addone(int x)では、addoneは整数一つを入力としてとり、整数を結果として出力する、と宣言している。int result;の行では、ローカル変数resultが整数型であることを宣言している。
型推論の機能がある言語では、例えば次のように書くことができるだろう。
 addone(x) {
   var result;
   result = x+1;
   return result;
 }
この書き方は動的型付けの言語に非常によく似ているが、しかしながらすべての型はコンパイル時に定められる。この仮想的な例では、+演算子は常に二つの整数を一つの整数に変換する。これから、x+1の値が整数であることが型推論によって推論される。故にresultの型は整数であり、addoneの返り値が整数であることがわかる。同様に+演算子が入力として整数をとることからxが整数であることがわかり、addoneの引数の型が整数であることがわかる。

以上ウィキペディア情報。
ほほぅ、変数の型についても奥が深いな!

入門1のpdfファイル
C#の覚書【入門①】



C#の覚書【入門2】


ちょっとC#を触ってみて気づいたこと!
  • オートコンプリート:自動的に入力文字から始まるコードを導いてくれる。
  • コードスニペット:コード単位でのシンプルに書いて変換できる。
  • 逐次的なエラーの表示ができる。
  • 関数のリファクタリングというものができる。
すばらしい!!感動した!!

【さてさて第2回目ということで・・・・】

大きい型から小さい方に代入するときは、明示的に変換しないといけない(型変換について)
このとき cast演算子 (型) を使う!int y ,int i,double xについて、

y = i + (int)x;

ちなみに小さい型から大きな型へは黙示的に変換してくれるから何にもいらない・・・
型変換の話は知ってたけど一応!


【文字の入力について】
単純に以下の感じだけど文字列の足し算ができるのが面白い!とりあえず書いたコードは↓

namespace ConsoleApplication1
{
   class Program
   {
       static void Main(string[] args)
       {
           Console.WriteLine("hello world!!");
  
           var x = 3.0;
           var y=20;

           string s = "サンプルテキスト";
           Console.WriteLine(s+"追加のテキスト");

           Console.WriteLine(string.Format("{0}/{1}",x,y));
           

       }
   }
}
以上がコード!

Console.WriteLine(string.Format("{0}/{1}",x,y));の部分はCで書くとたぶん・・・・・
printf(“%f/%d”,x,y);

なんだとおもう!なんか長くなってる分わかりにくそうだけど・・・まぁ別に覚えておけばどっちでもいいや!



【配列と反復について】
とりあえず配列を作成して各要素を表示するプログラミングを書くよ!

『while文』

namespace ConsoleApplication1
{
   class Program
   {
       static void Main(string[] args)
       { 
           int n=0;
           Console.WriteLine("hello world!!");

           int[] x = new[] { 1, 2, 3, 4, 5 };
          
           while (n<x.Length)
           {
               Console.WriteLine(x[n]);
               n++;
           }
       }
   }
}

まぁ、普通ですね!
次は『for文』

namespace ConsoleApplication1
{
   class Program
   {
       static void Main(string[] args)
       { 
           Console.WriteLine("hello world!!");

           int[] x = new[] { 1, 2, 3, 4, 5 };
           for (int i = 0; i < x.Length; i++)
           {
               Console.WriteLine(x[i]);
           }
       }
   }
}

これも普通ですね!

次のやつが面白い!!
foreach文なかなか使えそう(^^)b


namespace ConsoleApplication1
{
   class Program
   {
       static void Main(string[] args)
       { 
           Console.WriteLine("hello world!!");

           int[] x = new[] { 1, 2, 3, 4, 5 };
           foreach (var item in x)
           {
               Console.WriteLine(item);
           }
       }
   }
}

コレクションクラスというものがあるらしい・・・勉強しよっと!

今回はここまで!

入門2のpdfファイル
C#の覚書【入門②】



タグ:

C#
最終更新:2010年08月07日 10:27