ポケットリファレンスシリーズC#ポケットリファレンス
2011年12月3日紙版発売
WINGSプロジェクト,土井毅,髙江賢,飯島聡,髙尾哲朗 著,山田祥寛 監修
四六判/488ページ
定価2,838円(本体2,580円+税10%)
ISBN 978-4-7741-4948-6
ただいま弊社在庫はございません。
書籍の概要
この本の概要
13年のロングセラーシリーズ・ポケットリファレンスにWindowsプログラミングの定番言語となったC#が新登場。ベーシックだけど忘れてしまいがちな書式や振る舞いをコンパクトなサイズに凝縮,逆引き形式で目的の情報をすぐ探せて,サンプルコードを見ながら具体的な実装のイメージがつかめます。対応バージョンは最新のC#4.0,『JavaScript本格入門』をはじめ数多くの著書で定評ある山田祥寛氏の全面監修。現場で役立つ信頼の1冊です。
こんな方におすすめ
- C#プログラマ
著者の一言
ソフトウェア開発に適した言語は,C#のほかにJavaやVBなどがあります。「ソフトウェア開発に適した」とは,言語の性質も含めて開発や生産性,開発コストも含めた意味です。これらの言語は,開発者が多くインターネットの情報や書籍なども豊富ですから,開発時のトラブルに対応しやすい言語とも言えます。
ただし,情報が多いことは,時に検索性を阻害することがあることも事実です。本書の構成を作成するにあたっては,情報を引きやすくするよう心がけました。
C#は.NET Frameworkで動作する言語として,VBとの違いを問われることもあります。また,マルチプラットフォームで稼働するJavaと,Windows環境でのビジネスアプリケーション開発のシーンが多いC#が比較されることもあります。開発には,サーバーサイド開発,クライアント開発,製品開発,コンポーネント開発などそれぞれ異なる特性を必要とする開発がありますので,案件に合致した言語を選択すれば良いと思います。
しかし,JavaもC#もできる人が「JavaのCopyOnWriteArraySetみたいなものはC#にあるのかな」とか,C#の初心者が「XMLファイルを画面に表示するだけの簡単なプログラムを書きたいんだけど,何から書き始めればいいのかさっぱり」といったことは良くあることです。
本書は,目的から情報にたどり着きやすいリファレンスとするよう心がけました。初心者から習熟者に広く参考にしていただける一冊になれば幸いです。
目次
Chapter 1 C#を始めるために
- C#とは
最初のC#プログラミング
- 「Visual C# 2010 Express」のインストールと起動
- コンソールアプリケーションの作成と実行
Chapter 2 基本文法
データ型
- データ型の種類
演算子
- 演算子
基本構文
- コメントを記述する
- 名前空間を定義する
- 名前空間を参照する
- エイリアス(別名)を定義する
- エイリアスとクラスを区別する
- 変数を宣言する
- 暗黙的型指定の変数を宣言する
- 定数を宣言する【3.5】
- 読み取り専用のフィールドを宣言する
- 動的型付け変数を定義する【4】
- 型を変換する
- 配列(1次元)を宣言する
- 多次元配列を宣言する
- 列挙型(enum)を定義する
- 処理を分岐する
- 処理を複数に分岐する
- 複数の条件で処理を分岐する
- 処理をくり返す
- 処理をくり返す(ループ後に条件判定)
- 決まった回数の処理をくり返す
- すべての要素を順番に参照する
- 無条件に制御を分岐する
クラス
- クラスを定義する
- メソッドを定義する
- インスタンスを生成する
- クラスのメンバにアクセスする
- コンストラクタを定義する
- オブジェクト初期化子を利用する
- デストラクタを定義する
- 引数を参照渡しする
- メソッドの結果を引数で受け取る
- 可変長引数を利用する
- オプション引数/名前付き引数を定義する【4】
- 静的メンバを定義/利用する
- 演算子をオーバーロードする
- インデクサを定義する
- クラスを継承する
- 基本クラスのコンストラクタを実行する
- クラスの継承を禁止する
- オーバーライドを定義する
- メンバを隠蔽する
- アクセス制御する
- プロパティを定義する
- 抽象メソッド/クラスを定義する
- オブジェクトが指定の型に変換可能かチェックする
- as演算子でオブジェクトを変換する
- インタフェースを定義する
- ジェネリックでクラス/メソッドを定義する
- ジェネリックを制約つきで宣言する
- ジェネリックの型を初期化する
- クラス/メソッドを分割して定義する
- 構造体を定義する
- 拡張メソッドを定義する【3.5】
- 匿名型の変数を定義する【3.5】
- null許容型を宣言する
デリゲートとイベント
- デリゲートを定義する
- 匿名メソッドを定義する【3.5】
- ラムダ式を利用する【3.5】
- 共変性/反変性の型パラメータを利用する【4】
- イベントを宣言する
例外処理
- 例外処理を定義する
- 例外を任意に発生させる
- usingを用いてリソースを破棄する
- オーバーフローをチェックする
Chapter 3 基本データ型の操作
- 概要
Object型
- オブジェクトが等しいかどうかを判断する~System.Object
- オブジェクトの文字列表現を取得する~System.Object
数値型
- 文字列から数値に変換する~System.Int32,Int64,Double,Decimalなど
- 数値型の最大値/最小値を取得する~System.Int32,Int64,Double,Decimalなど
日時型
- 現在の日時情報を取得する~System.DateTime
- 書式付きで文字列に変換する~System.DateTime
- 文字列から日時型を作成する~System.DateTime
- 日時情報を比較する~System.DateTime
- 日時情報の加算/減算を行う~System.DateTime,TimeSpan
- カレンダーを取得する~System.Globalization.Calendar
- 元号を表示する~System.Globalization.JapaneseCalendar
文字型
- 文字の種類を判定する~System.Char
- 文字を大文字/小文字にする~System.Char
文字列型
- 文字列を連結する~System.String
- 文字列の長さを取得する~System.String,System.Globalization.StringInfo
- 文字列から文字や部分文字列を取得する~System.String
- 指定文字列を挟んで連結する~System.String
- 文字列を分割する~System.String
- 文字列を含むかどうかを判定する~System.String
- 文字列を検索する~System.String
- 先頭/末尾の文字列を検索する~System.String
- 文字列を整形する~System.String
- 文字列を比較する~System.String
- 文字列を置換する~System.String
- 文字列を挿入する~System.String
- 文字列を削除する~System.String
- 文字列が空かどうかを判定する~System.String
- 左寄せ/右寄せする~System.String
- 大文字化/小文字化する~System.String
- 前後の空白を削除する~System.String
文字列バッファ
- 可変の文字列バッファを作成する~System.StringBuilder
- 文字列バッファの末尾に追加する~System.StringBuilder
- 文字列バッファに文字列を挿入する~System.StringBuilder
- 文字列バッファの文字列を置換する~System.StringBuilder
- 文字列バッファの文字列を削除する~System.StringBuilder
- 文字列バッファの文字列の長さを取得/設定する~System.StringBuilder
- 文字列バッファの指定位置の文字を取得/設定する~System.StringBuilder
- 文字列バッファの容量を操作する~System.StringBuilder
エンコーディング
- エンコーディングを変換する~System.Text.Encoding
- バイト列から文字列に変換する~System.Text.Encoding
- 正規表現
- 正規表現を作成する~System.Text.RegularExpressions.Regex
- 正規表現で検索する~System.Text.RegularExpressions.Regex,Match,MatchCollection
- 正規表現の検索オプションを指定する~System.Text.RegularExpressions.Regex
- 正規表現のパターンをグループで指定する~System.Text.RegularExpressions.Match,GroupCollection,Group
- 正規表現で文字列を置換する~System.Text.RegularExpressions.Regex
算術関数
- 絶対値を求める~System.Math
- 三角関数を利用する~System.Math
- 大小を比較する~System.Math
- 切り捨て/切り上げ/四捨五入する~System.Math
- 平方根/累乗を求める~System.Math
- 指数/対数を利用する~System.Math
- 符号を取得する~System.Math
国際化
- カルチャ情報を取得/生成する~System.Globalization.CultureInfo
- カルチャ情報をカスタマイズする~System.Globalization.CultureInfo
Chapter 4 コレクション
- 概要
共通機能
- コレクションに要素を追加する~System.Collections.Generic.ICollection
- コレクションの要素を削除する~System.Collections.Generic.ICollection
- コレクションに要素が含まれているかどうかを判定する~System.Collections.Generic.ICollection
- コレクションの要素の数を取得する~System.Collections.Generic.ICollection
- コレクションを反復処理する~System.Collections.Generic.ICollection,IEnumerable
- コレクションを配列にコピーする~System.Collections.Generic.ICollection
- コレクションの要素が条件を満たすかどうかを判定する【3.5】~System.Linq.Enumerable
- コレクションを連結する【3.5】~System.Linq.Enumerable
- コレクションの重複を除去する【3.5】~System.Linq.Enumerable
- 2つのコレクションの和集合/差集合/積集合を生成する【3.5】~System.Linq.Enumerable
- コレクションの平均値/合計を計算する【3.5】~System.Linq.Enumerable
- コレクションの最大値/最小値を取得する【3.5】~System.Linq.Enumerable
- コレクションを条件でフィルタする【3.5】~System.Linq.Enumerable
リスト
二重リンクリスト
- 二重リンクリストを生成する~System.Collections.Generic.LinkedList
- 二重リンクリストの要素を取得する~System.Collections.Generic.LinkedList,LinkedListNode
- 二重リンクリストに要素を追加する~System.Collections.Generic.LinkedList
セット
- セットを生成する~System.Collections.Generic.HashSet
- セットとコレクションとの関係を調べる~System.Collections.Generic.HashSet
ディクショナリ
- ディクショナリを生成する~System.Collections.Generic.Dictionary
- ディクショナリにキーと値を追加する~System.Collections.Generic.Dictionary
- ディクショナリから値を取得する~System.Collections.Generic.Dictionary
- ディクショナリに指定したキー/値が含まれるかどうかを判定する~System.Collections.Generic.Dictionary
- キー/値のコレクションを取得する~System.Collections.Generic.Dictionary
キュー
- キューを生成する~System.Collections.Generic.Queue
- キューの要素を追加/取得する~System.Collections.Generic.Queue
スタック
- スタックを生成する~System.Collections.Generic.Stack
- スタックの要素を追加/取得する~System.Collections.Generic.Stack
Chapter 5 入出力
- 概要
ファイルシステム
- ファイル情報/ディレクトリ情報オブジェクトを作成する~System.IO.FileInfo,DirectoryInfo
- ファイルを新規作成する~System.IO.File,FileInfo
- ファイルをコピーする~System.IO.File,FileInfo
- ファイルを削除する~System.IO.File,FileInfo
- ファイルを移動する~System.IO.File,FileInfo
- ディレクトリを作成する~System.IO.Directory,DirectoryInfo
- ディレクトリを削除する~System.IO.Directory,DirectoryInfo
- ディレクトリを移動する~System.IO.Directory,DirectoryInfo
- ファイル/ディレクトリの存在を確認する~System.IO.File,Directory,FileInfo,DirectoryInfo
- ファイル一覧を取得する~System.IO.Directory,DirectoryInfo
- ディレクトリ一覧を取得する~System.IO.Directory,DirectoryInfo
- ファイル/ディレクトリ一覧を高速に列挙する【4】~System.IO.Directory,DirectoryInfo
- ファイル/ディレクトリの情報を取得/設定する~System.IO.File,FileInfo,Directory,DirectoryInfo
- ドライブの情報を取得する~System.IO.DriveInfo
- ファイルストリームを作成する~System.IO.FileStream,File
バイナリ入出力
- メモリストリームを作成する~System.IO.MemoryStream
- ストリームから読み込む~System.IO.Stream
- ストリームに書き込む~System.IO.Stream
- ストリームをシークする~System.IO.Stream
- ストリームの情報を取得する~System.IO.FileStream
- ストリームをコピーする~System.IO.FileStream
- バイナリファイルの内容を一括で読み書きする~System.IO.File
- ストリームのリーダー/ライターを作成する~System.IO.StreamReader,StreamWriter,File
- 文字列のリーダー/ライターを作成する~System.IO.StringReader,StringWriter
- リーダーから読み込む~System.IO.TextReader
- ライターに書き込む~System.IO.TextWriter
テキスト入出力
- テキストファイルの内容を一括で読み書きする~System.IO.File
- テキストファイルの内容を行単位に読み込む【4】~System.IO.File
TCP/IPネットワーク
- ホスト名を取得する~System.Net.Dns
- IPアドレスを取得する~System.Net.Dns,IPAddress
- TCPソケットで接続待ちする~System.Net.Socket.TcpListener
- TCPソケットで接続する~System.Net.Socket.TcpClient
HTTP通信
- URIを処理する~System.Uri
- Webサーバーからデータをダウンロードする~System.Net.WebClient
- Webサーバーからテキストをダウンロードする~System.Net.WebClient
- クエリ文字列を設定する~System.Net.WebClient,System.Collections.Specialized.NameValueCollection
- Webサーバーからファイルをダウンロードする~System.Net.WebClient
- WebサーバーにPOSTデータを送信する~System.Net.WebClient
Chapter 6 ユーティリティ
- 概要
スレッド
- 引数のない処理をスレッドとして定義する~System.Threading.Thread
- 引数を受け取る処理をスレッドとして定義する~System.Threading.Thread
- スレッドタイマーでスレッドを制御する~System.Threading.Timer
- システムタイマーでスレッドを制御する~System.Timers.Timer
- 別スレッドの処理結果を利用する【4】~System.Threading.Tasks.Task
- スレッドを停止/再開する~System.Threading.AutoResetEvent,Thread
- スレッドの状態を確認/中止する~System.Threading.Thread
- スレッドの優先順位を決める~System.Threading.Thread
- 非同期処理実行後の動作を設定する~System.IAsyncResult,Delegate
- 非同期処理の結果を利用する~System.Threading.WaitHandle,System.IAsyncResult
システムツール
- システム一意のインデックスを取得する~System.Guid
- 乱数を利用する~System.Random
- MD5ハッシュを計算する~System.Security.Cryptography.MD5CryptoServiceProvider
- SHA1ハッシュを計算する~System.Security.Cryptography.HMACSHA1
環境情報
- 実行環境の環境変数を取得する~System.Environment
- 実行環境の環境属性を取得する~System.Environment,OperatingSystem,Version
- レジストリの値を取得する~Microsoft.Win32.Registry,RegistryKey
- レジストリの値を設定/削除する~Microsoft.Win32.RegistryKey,System.Security.AccessControl
- アクティブディレクトリの情報を利用する~System.DirectoryServices.DirectoryEntry,DirectoryEntries
Chapter 7 データベースアクセス
- 概要
接続型データアクセス
- データベースに接続/切断する~System.Data.SqlClient.SqlConnection
- 設定ファイルの接続文字列を取得する~System.Configuration.ConfigurationManager,ConnectionStringSettings
- SQL文を実行するオブジェクトを生成する~System.Data.SqlClient.SqlCommand
- 結果データを返すSQL文を発行する~System.Data.SqlClient.SqlCommand
- 単一の値を取得するSQL文を発行する~System.Data.SqlClient.SqlCommand
- 結果データから値を取得する~System.Data.SqlClient.SqlDataReader
- 複数の結果データを取得する~System.Data.SqlClient.SqlDataReader
- 更新系のSQL文を発行する~System.Data.SqlClient.SqlCommand
- パラメータ付きSQL文を発行する~System.Data.SqlClient.SqlCommand,SqlParameterCollection,SqlParameter
- ストアドプロシージャを実行する~SqlCommand
- ストアドプロシージャで出力パラメータを使用する~System.Data.SqlClient.SqlParameter
トランザクション制御
- トランザクションオブジェクトを作成する~System.Data.SqlClient.SqlConnection
- トランザクションをコミット/ロールバックする~System.Data.SqlClient.SqlTransaction
- トランザクションスコープを作成する~System.Transactions.TransactionScope
非接続型データアクセス
- データアダプターを生成する~System.Data.SqlClient.SqlDataAdapter
- データセットにデータを流し込む~System.Data.SqlClient.SqlDataAdapter
- データセットのデータを使用する~System.Data.DataSet,DataTableCollection,DataTable,DataRowCollection,DataRow
- 更新用コマンドを自動生成する~System.Data.SqlClient.SqlDataAdapter,SqlCommandBuilder
- データセットを使用して更新する~System.Data.SqlClient.SqlDataAdapter
- Code Firstを使用するためのエンティティクラスを定義する~System.Data.Entity.DbContext,DbSet
- Code Firstを使用するためのコンテキストクラスを定義する【4】~.System.Data.Entity.DbContext,DbSet
- Code Firstを使用してデータベースを作成する【4】~.System.Data.Entity.DbContext,DbSet
- LINQのクエリ式構文/メソッド構文を記述する【3.5】~System.Linq.Enumerable,System.Linq.Queryable
- クエリを即時実行する【3.5】~System.Linq.Enumerable
- 結果セットから射影する【3.5】~System.Linq.Queryable
- 結果セットをフィルターする【3.5】~System.Linq.Queryable
- キープロパティでエンティティを結合する【3.5】~System.Linq.Queryable
- 結果セットの要素のすべて/どれかが条件を満たしているか確認する【3.5】~System.Linq.Queryable
- 結果セットに指定した要素が含まれていることを確認する【3.5】~System.Linq.Queryable
- 結果セットから重複を取り除く【3.5】~System.Linq.Queryable
- 結果セットの並べ替えをする【3.5】~System.Linq.Queryable
- 結果セットをグループ化する【3.5】~System.Linq.Queryable
- 結果セットの集計をする【3.5】~System.Linq.Queryable
- 結果セットの特定の要素を抽出する【3.5】~System.Linq.Queryable
- 概要
- テキストボックス/マスク付きテキストボックスを利用する~System.Windows.Forms.TextBoxBase,MaskedTextBox,Control
- リッチテキストボックスを利用する~System.Windows.Forms.RichTextBox
- リストボックスを作成する~System.Windows.Forms.ListBox
- 月別カレンダーを利用する~System.Windows.Forms.MonthCalendar
- 日付選択ボックスを作成する~System.Windows.Forms.DateTimePicker
- リンクラベルを利用する~System.Windows.Forms.LinkLabel
- ブラウザーコントロールを利用する~System.Windows.Forms.WebBrowser
- WPFで表形式にレイアウトする【3】~System.Windows.Controls.Grid
- WPFで要素を大まかにレイアウトする【3】~System.Windows.Controls.DockPanel,WrapPanel
- WPFで表示順序の決まった要素をレイアウトをする【3】~System.Windows.Controls.StackPanel
- 子要素を厳密に位置決めをして配置する【3】~System.Windows.Controls.Canvas
- 画面の要素の表示領域を設定する【3】~System.Windows.Controls.Border,Viewbox,ScrollViewer
ADO.NET Entity Framework(Code First)
LINQ to Entities
Chapter 8 Windowsアプリケーション
Windowsフォームアプリケーション
WPFアプリケーション
この本に関連する書籍
-
Windows 8プログラミング本格入門 ~ストアアプリのUI/UX・実装・テストまで [Windows 8.1 対応版]
本書は,Windowsストアアプリを構築する上で必要な要素技術の考え方および実装方法,テストまで,ひとつひとつ丁寧に取り上げて解説を試みます。Microsoft/Windowsのク...
-
Windows 8開発ポケットリファレンス
ロングセラーシリーズ・ポケットリファレンスにWindows 8 APIが新登場。 「逆引き形式で目的からすぐ探せる」 「サンプルコードを見ながら具体的な実装のイメージが...
-
【省エネ対応】C# プログラムの効率的な書き方
C#が提供するLINQ to Objectsは,多大な効能と価値を併せ持つ重要な考え方ですが,Cのポインタ同様に抽象的でわかりりにくいものです。実際の使い方が初期と現在とでは...
-
[完全版]C# 実践ダイナミックプログラミング
C# 4.0で特徴的なことのひとつに「ダイナミックな(動的な)」プログラミングが可能ということが挙げられます。本書は,処理系のバージョンアップにより選択可能となっ...
-
C#ルールブック ~読みやすく効率的なコードの原則
「名前の付け方がバラバラでわかりづらい」「取りあえず動いているけど,どこか挙動がおかしい」……チームで開発にあたるプロジェクトでは致命的といえるそんな問題を解...
-
[完全版]究極のC#プログラミング ――新スタイルによる実践的コーディング
C#は現在ではよく使われている言語であり処理系ですが,Cなどに比べると,まだ書籍の種類は多くありません。案外,言語としてのポイントを絞った,効率的な学習を意図...