文字列(操作)のあれこれ(弐)

文字列のあれこれ。の不足分を埋める感じで。よく仕事で使うやつをメモしておく。

〇文字列内の検索。場所を特定したいなら、IndexOf。含まれているかどうかだけなら、Contains。
var index = targetText.IndexOf("a");//1
var contains = targetText.Contains("Sh");//True
IndexOfよりContainsをよく使うかな。

〇文字列内の検索。特定文字列で始まる、あるいは終わるかどうか。
ファイル名や、拡張子をチェックするのに重宝している。
var targetText = "Tawamuredays With C Sharp.";
var start = targetText.StartsWith("Tawamu");//true
var ends = targetText.EndsWith("day");//false

〇分割
var pgLangs = "C#,Java,PHP,JavaScript,D,Python,なでしこ";
var elements = pgLangs.Split(',');
改行コードで分割することよくある。

〇文字列の比較(等値)
staticメソッドなので、nullかどうかを意識せずに使えるかな。
var isEqual = string.Equals(null, "");//false
ああでも、普通に「==」で比較すれば良い話かもしれない…。
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: C# | コメント: 0 | トラックバック: 0

DataGridのコピー機能が、日本語限定でバグってる(四)

コピー元情報をもとに、クリップボードへ文字列を設定する。 とりあえず、Text形式とHTML形式だけサポートする。
Text形式は元のままを使えば良いし、HTML形式も、一部(バイト数なのに文字数を渡している)箇所を修正すればいい。
DataGridからコピーする際のイベントデータ用クラスとして、DataGridRowClipboardEventArgsクラスがあるので、これを使う。続きを読む
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: WPF4 | コメント: 0 | トラックバック: 0

DataGridのコピー機能が、日本語限定でバグってる(参)

コピー元となる範囲(行と列)を把握する必要がある。DataGridコントロールから提供されるのは、SelectedCellsというセル単位の情報なので、これを行(Item)と列の情報に変換する。後々使うこともありそうなので、クラスと拡張メソッドを実装する。続きを読む
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: WPF4 | コメント: 0 | トラックバック: 0

DataGridのコピー機能が、日本語限定でバグってる(弐)

前回からの続きで再開。日本語を含む文字列をコピーする際の処理を、自前のロジックに置き換える必要がある。
続きを読む
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: WPF4 | コメント: 0 | トラックバック: 0

DataGridのコピー機能が、日本語限定でバグってる(壱)

 もう長い間開発を続けていたアプリケーションが、新たなユーザーにリリースされた。利用する部署が格段に増えたので、当然ながら問合せも増える。その中の一つに不可解な不具合報告があった。
リスト(DataGrid)からデータをコピーして、Excelに貼り付けたらなんかおかしい
なんかおかしいって…と思いつつ、確認作業をしてみたら、確かになんかおかしい。
 最後まで貼り付けしてくれない感じで、例えば、7行コピーしてExcelに貼り付けても、6行ちょっとしか貼り付けない。しかし、テキストファイルに貼り付ける分には、特に異常がない。なんぞこれは。というので調査することになった。しかし、貼り付け機能はともかく、コピー機能なんてWPF標準の機能として存在するので、それに任せっきりだったなぁ。
 で、調査した結果、コピーする範囲に日本語を含んでいる時におかしくなるようだった。DataGridのソースコードまで探しだして調査する羽目になった。続きを読む
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: WPF4 | コメント: 0 | トラックバック: 0

サイドバー背後固定表示サンプル

当ブログに書かれたソースコードは流用自由です。

バグ、スペルミス等はありうる事です。

ご利用の際は自己責任でお願いしますm(_ _)m