C# INotifyPropertyChanged

前回のイベント、デリゲートと似た内容。

 

C# IEnumerable

ちょいメモ

 

C# ObservableCollection

ちょいメモ

 

C# Xamarin サンプル色々

Xamarinを少し触り始めたので。サンプル色々。

ボタンでアラート

ピッカー(選択リスト)

タイマーとプログレスバー

サーチバー(インプットボックス)

リストビュー

C# 定期的にコマンド実行

定期的にtracertを実行したかったので。

C# TCPを使ったサンプル

C# UDPを使ったメッセージ交換

UDPを使ったテストプログラム。

C# PC情報取得

PC名、ユーザー名、インストール済みアプリ、ネットワーク情報を取得

C# Encoding/Byte/Stream/IO メモ

覚えてられない内容。少しずつまとめる。

Encoding

・メソッド
System.Text.Encoding.GetEncoding(“utf-8”)

・静的プロパティ
System.Text.Encoding.UTF8

・コンストラクタ
new System.Text.UTF8Encoding(false)
ASCIIとUnicodeは、Encodingクラスから派生した専用クラスがあり、falseにするとBOM無しにすることができる。

Byte

・String -> Byte[]
byte[] bytes = Encoding.UTF8.GetBytes(string);

・Byte[] -> String
string text = System.Text.Encoding.UTF8.GetString(bytes);

・Byte[] -> StreamReader -> String
var r = new System.IO.StreamReader(bytes, Encoding.UTF8);
r.ReadToEnd();

Stream/Reader/Writer

TextReader系

エンコード指定し、文字の入出力が基本。
TextReader系は、ReadToEndやReadLineが使える。
順次アクセスseekが使えない。

System.IO.StreamReader
System.IO.StreamWriter
System.IO.StringReader
System.IO.StringWriter

Stream系

バイトの入出力が基本。
基本seekできる。

System.IO.FileStream
System.IO.MemoryStream
System.IO.BufferedStream

TextReaderとStream

ファイルから文字を読むとき、FileStreamとStreamReaderがある。FileStreamはランダムアクセスでseekが使える。

Streamの型を受け付けるところではTextReaderは使えない。

・例(XmlSerializer -> MemoryStream -> Byte[] -> String)

ファイル/フォルダ

・フォルダ一覧
Directory.GetDirectories
Directory.EnumerateDirectories

・ファイル一覧
Directory.GetFiles
Directory.EnumerateFiles

・ファイル名
Path.GetFileName
Path.GetFileNameWithoutExtension

・ディレクトリ名
Path.GetDirectoryName

・ファイルの読み書き(Reader/Writerのラップ)
File.WriteAllLines
File.ReadAllLines
File.WriteAllText
File.ReadAllText

・存在確認
File.Exists
Directory.Exists

C# observer

通常パターン。