arton 著
本書はC#を基本から学びたい人のための入門書です。サンプルを実際に作りながら学べるので、自分のペースできちんとC#を身に付けることができます。演算子やラムダ式から始まり、Windows 8タブレットアプリの開発手法までフォロー。C#初心者はもちろん、再学習をしたい人にもおすすめの1冊です。
CHAPTER01 開発環境の準備と操作ガイド
LESSON01 Visual Studioをインストールしよう
LESSON02 プロジェクトを作ろう
LESSON03 プログラムを実行しよう
CHAPTER02 対話型プログラムでC#の基本をマスターしよう
LESSON04 現在時刻を表示しよう
LESSON05 カウンターを作ろう
LESSON06 足し算をしよう
LESSON07 例外を捕まえよう
LESSON08 いろいろな計算しよう
CHAPTER03 電卓プログラムでオブジェクト指向とラムダ式をマスターしよう
LESSON09 クラスを作ろう
LESSON10 継承を使おう
LESSON11 ラムダ式を使って計算しよう
LESSON12 プッシュボタン式電卓を作ろう
CHAPTER04 情報収集プログラムでデータの取得と分類をマスターしよう
LESSON13 HTMLソースを表示しよう
LESSON14 HTMLからリンクを抽出しよう
LESSON15 データの管理方法をマスターしよう
LESSON16 コレクションからデータを抽出しよう
CHAPTER05 テキストエディターでファイルの読み書きをマスターしよう
LESSON17 テキストを保存しよう
LESSON18 テキストを読み込もう
LESSON19 複数の文字コードに対応しよう
LESSON20 安全にファイルを保存しよう
CHAPTER06 射的ゲームでオブジェクトの継承をマスターしよう
LESSON21 Formの上にオブジェクトを描画しよう
LESSON22 いろいろな的を作ろう
LESSON23 弾を飛ばそう
LESSON24 当たり判定を実装しよう
CHAPTER07 サウンドプレイヤーでデータの利用と同期を学ぼう
LESSON25 Waveファイルの内容を調べよう
LESSON26 逆再生Waveファイルを作ろう
LESSON27 非同期再生をしよう
LESSON28 音声合成をしよう
CHAPTER08 ソースコード閲覧プログラムで制御構造を学ぼう
LESSON29 ソースファイルのコメントと文字列を色づけしよう
LESSON30 行番号を表示しよう
LESSON31 状態をオブジェクトに変えよう
LESSON32 ソースコードをコンパイルしよう
CHAPTER09 リモコンプログラムで単体テストを利用した本格的なプログラミングを学ぼう
LESSON33 Webサーバを内臓したプログラムを作ろう
LESSON34 サーバ機能を切り離そう
LESSON35 HTML表示用リモコンを作ろう
LESSON36 ジュークボックスを作ろう
CHAPTER10 パラパラマンガでWindowsストアアプリのプログラミングを学ぼう
LESSON37 アプリケーションの枠組みを作ろう
LESSON38 お絵かきアプリケーションを作ろう
LESSON39 サスペンドから復帰できるようにしよう
LESSON40 パラパラマンガを完成させよう
付属データはこちら
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
private void button1_Click(object sender, EventArgs e)
{
using (var client = new WebClient())
{
// 次の行は現在では不要
client.Headers.Add(HttpRequestHeader.UserAgent, "MyUserAgent");
// http:ではなくhttps:を指定しましょう
var uri = "https://codezine.jp";
// 直接トップページからリンクを抽出します
webBrowser1.DocumentText = CreateIndex(ReadPage(client, uri));
}
}
const string CodeZineProgrammingTop = "https://codezine.jp/programming/";
var regex = new Regex(@"<p\s+class=""c-articleindex_item_heading""><a\s+href=""(/article/detail/[^""]+)"">([^<]+)</a></p>\s+(<p\s+class=""c-articleindex_item_description"">\s*([^<]+)\s*</p>)?.+?<time\s+datetime=""([^""]+)""", RegexOptions.Singleline);
try
{
foreach (Match match in regex.Matches(html))
{
list.Add(new Article
{
Uri = match.Groups[1].Value,
Title = match.Groups[2].Value,
Date = match.Groups[5].Value,
Summary = match.Groups[4].Value
});
}
}
// プログラミング記事一覧からリンクを抽出
var toppage = ReadPage(client, CodeZineProgrammingTop);
foreach (var language in languages)
{
var uri = GetLanguageUri(toppage, language);
// languageで指定したプログラミング言語記事がなければ空リストを設定
if (string.IsNullOrEmpty(uri))
{
articles[language] = new List<Article>();
}
else
{
articles[language] = CollectArticles(ReadPage(client, uri));
}
}
24: var client = new WebClient();
25: client.Headers.Add(HttpRequestHeader.UserAgent, "MyUserAgent");
26: try
82: using (var client = new WebClient())
83: {
84: client.Headers.Add(HttpRequestHeader.UserAgent, "MyUserAgent");
85: var uri = GetCsharpUri(ReadPage(client, "http://codezine.jp/"));
55: var regex = new Regex(@"([^<]+))");
106: using (var client = new WebClient())
107: {
108: client.Headers.Add(HttpRequestHeader.UserAgent, "MyUserAgent");
109: var toppage = ReadPage(client, CodeZineTop);
83: var regex = new Regex(@"([^<]+)[^p]+p>¥s*([^<]+)
88: list.Add(new Article
89: {
100: Uri = match.Groups[1].Value,
101: Title = match.Groups[2].Value,
102: Author = String.Empty,
103: Summary = match.Groups[3].Value
104: });
97: var regex = new Regex(@"([^<]+)[^p]+p>¥s*([^<]+) 98: try
99: {
100: foreach (Match match in regex.Matches(html))
101: {
102: list.Add(new Article
103: {
104: Uri = match.Groups[1].Value,
105: Title = match.Groups[2].Value,
106: Author = String.Empty,
107: Summary = match.Groups[3].Value
108: });
109: }
110: }
143: using (var client = new WebClient())
144: {
145: client.Headers.Add(HttpRequestHeader.UserAgent, "MyUserAgent");
146: var toppage = ReadPage(client, CodeZineTop);
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
発生刷 | ページ数 | 書籍改訂刷 | 電子書籍訂正 | 内容 | 登録日 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1刷 | 練習問題Q9Testプロジェクト |
未 | 未 |
|
2013.07.04 | ||||||
1刷 | 053 側注*4の3行目 |
2刷 | 済 |
|
2013.04.03 | ||||||
1刷 | 053 「数値のカウントアップ」8行目 |
2刷 | 済 |
|
2013.02.19 | ||||||
1刷 | 076 表1 演算子 |
2刷 | 済 |
|
2013.04.08 | ||||||
1刷 | 096 側注*1の6行目 |
2刷 | 済 |
|
2015.07.30 | ||||||
1刷 | 127 側注*4の5行目 |
2刷 | 済 |
|
2015.07.29 | ||||||
1刷 | 135 リスト2の24行目の次にコード1行とその注釈を追加 |
2刷 | 済 |
|
2015.07.29 | ||||||
1刷 | 144 リスト2 24行目と25行目の間 |
2刷 | 済 |
|
2013.07.08 | ||||||
1刷 | 146 61行目 |
2刷 | 済 |
|
2015.07.30 | ||||||
1刷 | 155 リスト3 47行目と48行目 |
2刷 | 済 |
|
2013.07.08 | ||||||
1刷 | 158 リスト5 110行目と111行目の間 |
2刷 | 済 |
|
2013.07.08 | ||||||
1刷 | 169 リスト3 61行目と62行目の間 |
2刷 | 済 |
|
2013.07.08 | ||||||
1刷 | 171 リスト5 147行目と148行目 |
2刷 | 済 |
|
2013.07.08 | ||||||
1刷 | 198 2つめのコードブロックの1行目 |
2刷 | 済 |
|
2015.07.30 | ||||||
1刷 | 258 096行目 |
2刷 | 済 |
|
2015.07.30 | ||||||
1刷 | 259 122行目 |
2刷 | 済 |
|
2015.07.30 | ||||||
1刷 | 260 155行目 |
2刷 | 済 |
|
2015.07.30 | ||||||
1刷 | 269 コード223行目 |
2刷 | 済 |
|
2015.07.30 | ||||||
1刷 | 289 49行目、51行目、58行目(3か所) |
2刷 | 済 |
|
2015.07.30 | ||||||
1刷 | 290 116行目 |
2刷 | 済 |
|
2015.07.30 | ||||||
1刷 | 397 38行目、47行目(2か所) |
2刷 | 済 |
|
2015.07.30 | ||||||
1刷 | 399 90行目、93行目(2か所) |
2刷 | 済 |
|
2015.07.30 | ||||||
1刷 | 399 91行目 |
2刷 | 済 |
|
2015.07.30 | ||||||
1刷 | 400 111行目のコードと注釈 |
2刷 | 済 |
|
2015.07.30 | ||||||
1刷 | 419 手順8の1行目 |
2刷 | 済 |
|
2013.02.05 | ||||||
1刷 | 442 リスト8への補足説明 |
2刷 | 済 |
|
2015.07.30 |
ryo511 さん
2015-04-15
C#とWindowsフォームを同時進行で学習していくようになっているが、1冊目にはおすすめできない。最初はC#の言語仕様を詳しく解説してある本を読んだほうが、理解がしやすいと思う。操作手順を詳しく解説しているので、C#がある程度分かってる人であれば、本書でスムーズにWindowsフォームを学べる。A-