Home > C# > C# 学び直し

ベクトルドロー・レベルゼロ

C# 学び直し

広告

新規作成日 2017-07-10
最終更新日

技術は、どれも同じですが、役に立つレベルに達しないうちに諦めると全く使えません。 役に立つレベルまで、頑張っておけば、あとは、積極的に使っていなくても自然に能力が向上していくものです。

C#でのプログラミングは、やっては、諦め、やっては、諦めの繰り返しで、使えないままです。購入した書籍や費やした時間が全て無駄になっています。

簡単な、でも、面倒な繰り返しの作業を、C#を使って解決できる段階を目指して、再度挑戦したいと思います。

C#を選ぶ理由

C#は、事実上のWindows開発言語です。

そのため、Windowsアプリケーションの開発を行う場合、C#を選択することが、情報や機能の充実の面から一番有利と言われています。

特徴の1つに、グラフィカルUIが簡単に利用できることが挙げられます。

C++などの他の言語で開発を行っている場合でも、その部分は、DLLとしてまとめ、C#から利用することで、C#のグラフィカルUI作成機能を活用できます。

WIndows上で動作するアプリケーションを作成したい場合、開発言語にC#を選ぶことは、良い選択だと思われます。

C#学習サイト

インターネット上に存在するC#学習サイトです。

注意点は、一般に「C#」と言った場合、C#の言語部分、.NetFreameworkで提供されるライブラリ、グラフィカルUIが含まれているということです。

一方、「C#入門」と言った場合、C#の言語部分だけを指します。

つまり、「C#入門」を学習しても、C#でアプリケーションを作成する領域には到達しないということです。

C#の主な開発プラットフォーム

C#の開発プラットフォームは、WindowsVistaから、Windows8の間の期間に、タブレット端末、スマートフォン端末への対応を目指した時期に混乱し、 複数の開発プラットフォームが登場しました。そのいくつかは、既にサポートが終了しているので、新たに習得するには適していません。 以前に、作成したプログラムのサポートが目的でなければ、避けたほうが無難です。

以下は、C#の開発プラットフォームの一例です。

  • コンソールアプリケーション
  • フォームアプリケーション
  • WPFアプリケーション
  • .Net Core
  • Asp.Net
  • Asp.Net.Core
  • Xamarin
  • Unity C#
  • UWP

実際に習得を始める前に、サポートや開発が終了していないかどうか確認しておくことが必要です。

既存のアプリケーションの保守、改修にかかわらない限り、サポートや開発が終了しているソリューションには、興味を持たないことが大切です。

フォームアプリケーションは、今から学ぶ価値があるのか?

C#のプログラミングに関する日本語の学習資料では、UIには、フォームアプリケーションが利用されています。

フォームアプリケーションは、ラピット・プログラミングと呼ばれるスタイルの開発環境です。Windowsで使われるそれぞれのウィンドウのデザインをコードで記述する必要があった頃、デザイナーと呼ばれるUIデザインツールでUIを作成し、そのUIとイベントを結びつけることで、アプリケーションの開発速度を向上させるソリューションです。

その中身は、Win32APIのラッパーです。

現在、既に、更新は行われていません。

現在、グラフィカルUIは、WPFから登場したxamlと呼ばれるxml系の言語で記述されるUIが主流になっています。デザイナーと呼ばれるデザインツールも用意されています。

WPFだけでなく、UWPやASP.Netでもこのxaml系のUIが利用されていることから、Microsoftの開発環境のグラフィカルUIの主流は、xaml系のUIに移行したと判断できます。フォームアプリケーションのスタイルに戻る可能性は、低いと思われます。

その結果、フォームアプリケーションは、既存のアプリケーションの保守、改修にかかわらない限り、新たに学ぶ価値のないものです。

コンソール・アプリケーショントピック

どんな開発言語でも、ほとんどの場合、最初に扱うのはコンソールアプリケーションです。

ここで紹介しているのは、C#の入門書で紹介されるコンソールアプリケーションを実行するための関連知識です。

空のプロジェクトを作成する

書籍のサンプルを実行するときは、空のプロジェクトから始めることを推奨していることが多いです。とはいえ、「コンソールアプリケション」のテンプレートを使って始めた方がトラブルが少ないです。

C#で作成したコンソールアプリケーションを実行するコマンドプロンプト

C#で作成したコンソールアプリケーションは、コマンドプロンプトで実行する必要があります。

C#のコメント

プログラム内には、コメントを記載できます。プログラムが読みやすくなるので、こまめに記述することをおすすめします。

単一行コメント

「//」でコメントが開始され、行の末尾でコメントが終了します。

// コメント

複数行コメント

「/*」で始まり、「*/」で終了します。

/* 
コメント
*/

暗黙的に型指定されるローカル変数

C#では、変数を定義する際、型指定する必要があります。

変数の初期化を伴う場合は、「var」キーワードを指定することで、型指定を暗黙化して、コンパイラにやらせることができます。

var pi = 3.1416

この場合は、double型の変数として定義されます。

コンソール画面への文字出力とキーボードからの入力

コンソールアプリケーションは、コンピュータを高度に使いこなしている人には好まれますが、一般的には使用しません。 その為、プログラミング言語を学ぶ際に初めて利用する方も多いかと思います。C#で、コンソール画面への文字出力とキーボードからの入力の取扱に関することをここにまとめておきます。

IDEで実行した際、コンソールがすぐに閉じてしまい、出力を確認できない場合は、キーボードからの入力を確認するコードを追加すると、キーボードの入力があるまで、コンソール画面が表示されたままになります。

C#で行うファイルからデータの読み書き

C#に限らず、ファイル入出力は、一連のクラス階層として構築されているので、クラス、継承、例外といった概念が使われています。 その結果、開発言語の入門教材では、最後の方で、いきなり難しい説明と一緒に登場します。 結果、よく理解できません。ここでは、簡単に使うことを目的に、書籍やインターネット上の情報をまとめてみたいと思います。

データとプログラムの分離

そうは、言ったものの、初めからファイルを読み込みや書き込みを考えてプログラミングを行うとデータファイルとプログラムコードが別になるので、わかりやすくまとめにくく、扱いが面倒です。

そこで、プログラムコードの中に、データを書き込むハードコードと呼ばれる方法で、動作を確認し、その後、データとコードを分離します。

ハードコードと呼ばれるプログラムの中にデータを書き込む方法は、プログラムの保守がしにくくなるので、避けたほうが良い手法と言うのが定説です。 しかし、プログラムの動作を確認したり、説明したりする場合には、コードとデータを一緒に示すことができるので、便利でわかりやすくなります。

後から、プログラムの動きを確認するためのメモでは、ハードコードの手法を使い、実際のプログラムでは使わないという使い分けが必要です。

こういった細々とした使い分けが、入門教材で学んだ後、実際にプログラムを作成する際の障壁になっているとも考えられるので、注意が必要です。 そして、この問題をうまく避けている学習教材は、私の知る限り存在しないので、おそらく、どの教材を選んでも後で苦しむことになります。

データとコードの分離のように、機能ごとにプログラムを分割する設計は、デザインパターンと呼ばれるプログラムの保守性を高めるためのプログラミングスタイルに直結しています。 機能を追加する際、変化する部分と変化しない部分を考え、それぞれを分離独立させる手法についても想像して見ましょう。

usingの削除と並べ替え

使用していないusingは、簡単に削除することができます。

usingが表記されている部分で、右クリックし、表示されるコンテキストメニューから「usingの削除と並べ替え」を選択します。

usingが表記されている部分で、右クリックし、表示されるコンテキストメニューから「usingの削除と並べ替え」を選択します。

使われていないUsing表記が削除されました。

使われていないUsing表記が削除されました。

C#で行う文字列操作

C#では、文字列を扱うstringクラスやstringbilderクラスが予め用意されているため、文字列の扱いが簡単です。

リストクラス

C#では、リストクラスは、配列の代わりに使用します。配列とはことなり、動的に大きさを変更できます。

日付と時刻を扱うには

日付と時刻は、プログラムで扱う際、いろいろな場面で必要になります。自分で、実装するのは大変ですが、C#では、DateTime構造体が存在するので、これを使うことで解決できます。

C#で正規表現を使用する

C#は、文字列を簡単に扱うことができる開発言語の1つです。 文字列から、特定の文字列を検索したり、置換する際に、正規表現を使用すると、複雑な文字列操作を行うことができます。

C#で使う繰り返し構文

繰り返し構文は、プログラムを作成する際に頻繁に使用します。自分なりの使用パターンを確立するまでは、どの構文を使用するべきかよく考える必要があります。

スタートアッププロジェクトに指定する

複数のプロジェクトを持つ1つのソリューションでは、それぞれのプロジェクトから起動したいときがあります。

ソリューションエクスプローラの起動したいプロジェクト上で、右クリックし、「スタートアッププロジェクトに設定」を選択します。その後、このプロジェクトから実行されます。

その際は、ソリューションエクスプローラの起動したいプロジェクト上で、右クリックし、「スタートアッププロジェクトに設定」を選択します。その後、このプロジェクトから実行されます。

このエントリーをはてなブックマークに追加

広告

Home PC C# Illustration

Copyright (C) 2011-2018 Horio Kazuhiko(kukekko) All Rights Reserved.
kukekko@gmail.com
ご連絡の際は、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません。」