C#

C#

続くといいながら、パワポは飽きた&もういいかな的で終了です。 代わりにまたこれ!Effective C# 4.0作者: ビル・ワグナー,鈴木幸敏出版社/メーカー: 翔泳社発売日: 2011/02/16メディア: 大型本購入: 12人 クリック: 73回この商品を含むブログ (13件) を見…

C#

Firstメソッドにはパラメータありとなしがあって、ありを使えばWhere(条件).First-->First(条件)でいける FirstOrDefaultを使えば、存在有無とデータ取得の両方を実現できる。Where()+First()-->FirstOrDefault() SortしてFirstすれば最小値が取れるが、これ…

C#

射影・・・・・Enumerable.Range(1, 9).Select(c=>c*2) 射影*2・・・・Enumerable.Range(1, 9).SelectMany( (l)=>Enumerable.Range(1, 9), (l, r)=> l +"x"+r+"="(l*r)) SkipWhileとWhereの大きな違いは、SkipWhileはスタート位置がスキップされるだけで、そ…

C#

さて、ショートコーディングも読み終えたんで、積ん読より以下を今日からやってみます。【省エネ対応】 C#プログラムの効率的な書き方作者: 川俣晶出版社/メーカー: 技術評論社発売日: 2012/01/19メディア: 単行本(ソフトカバー)購入: 1人 クリック: 9回こ…

C#

読むとやるとでは、大きな違い。いざ書いてみると書けない。 Encoding.GetEncoding("Shift_JIS")も日本ロケールでの読み込み限定とすれば、Encoding.Defaultにできる versionとれ。FileVersionInfo.GetVersionInfo( Assembly.GetExecutingAssembly().Locatio…

C#

もう金曜ですか・・・。 Parallel.For( startIndex, EndIndex, action )による計算はコア数により処理分散される Dictonaryクラスはスレッドセーフではないので、スレッド処理させたいならConcurrentDirectoryクラスを使う ConcurrentDirectoryクラスはスレ…

C#

今日は消えないことを祈りつつ・・・ ディレクトリ内の全ファイルのうち、一つだけ参照するならDirectory.EnumerateFiles( path ).First()・・・パフォーマンスたかす 同じことはディレクトリでも言えるけど、そんなサブフォルダ数の多いフォルダも少ないDir…

C#

消えてもた・・・ もう一回書くのって凹む。 あー凹む。やっぱ[確認する]押す前にクリップボードいれとかなあかんね。 stringで"123456"とか入れてるやつを、foreach( var s in strHoge )でとれたりする FilePathを組み立てる際、"\"を走査するくらいなら、P…

C#

string変数にモノが入っている状況でnullとか空とかチェックする場合、string.IsNullOrWhiteSpace(str)で一発で済ます 上記にてwhiteSpaceはオKな場合はstring.IsNullOrEmpty(str)で済ます Splitしたいとき、デミリタ指定の次のパラメータでStringSplitOptio…

C#

さて本日もまいりますよwww LINQ中の列挙からToDictonary()でDictonary型のインスタンスを作成できる。 2つの配列夫々に対して加算とかの処理したい場合、配列1.Zip(配列2, (x,y)=>x+y)とかできる args[]はEnviroment.GetCommandLineArgs().Skip(1)で列挙 Di…

C#

さて本日も勉強は続く。 配列の要素毎でのループ処理をしたい場合、特定のループ回数をスキップしたければs.SkipWhile((x,i)=>i==n) 数値配列の合計とかもループでゴリゴリ加算せず、int[] x = {1, 2, 3}; x.sum();でスッキリ(条件いるならWhile(...).Sum())…

DateTimeをうまく使うと楽できる。tick相当で考えて処理しない。例えば・・・

C#

TimeSpanがあるなら、Total系のプロパティ(TotalDaysとか)で見る 今月末の日付が知りたいなら、今日の月初をまず求め、AddMonth(1).AddDays(-1)する int[] arのような配列の再配列は、 ar = ar.Where((x)=>(x>0)).ToArray () で解決 Dictionary型とかでkeyが…

前から欲しかった本を入手したんで、ちょっと勉強します。

C#

C#ショートコードプログラミング (MSDNプログラミングシリーズ)作者: 川俣晶出版社/メーカー: 日経BP社発売日: 2011/01/13メディア: 単行本購入: 2人 クリック: 72回この商品を含むブログ (12件) を見る・・・というか・・・入手したのって、いつだっけ的な…

継承よりインターフェイスの定義および実装を行う

C#

再認識させられました。 親クラスはオブジェクトがどのようなものであるかを表現し、インターフェイスはそれがどのような挙動をするかを表現する。 どんな機能があるのかは、どんなインターフェイスを実装したクラスかでわかるっちゅーこと。 Java屋じゃない…

box化とbox化解除を意識しよう

C#

わかってたつもりでしたが、こんなとこでもという話。 Console.Write( "{0}", 5 ); ええ・・・これ?って感じでした。 Console.Write( "{0}", 5.ToString() ); これでおkです。確かに・・・そうですよね。

メンバ変数は例外が発生しない限り、コンストラクタで初期化しない

C#

というのも、デフォルトコンストラクタだけなら良いのですが、やはりオーバーロードにより、複数個のコンストラクタが実装されることもあるかと思います。 このような状況下において、全てのコンストラクタで初期化が正しく行われないことを懸念し、コンスト…

foreachをつかうべし

C#

forやwhile等でぐるぐる回すしかないなら別ですが、コレクションを対象としているなら、foreachで処理すると、いいことが色々ある。ってゆーかコレクションに対してはforeach以外推奨されないらしい。まずパフォーマンス。 int[] nums = { 2, 4, 6 }; に対し…

「Effective C#」ってどうよ

この間、改訂(C#4.0として)されて出版されましたが、それの前のを去年の冬に買ってまして、漸く読む状況となり読んでます。Effective C#作者: ビルワグナー,Bill Wagner,鈴木幸敏出版社/メーカー: 翔泳社発売日: 2009/12/17メディア: 大型本購入: 5人 クリッ…

C#覚書

C#

LINQ メソッド形式のFirstは見つからなかったら例外を投げるので、FirstOrDefaultがベタ

C#覚書

C#

属性 [Conditonal("TEST")]:#if TESTより簡単&コンパイラも手助け [Obsolete]:互換のために残しているのをWarning WorkerThread 追加:ThreadPool.QueueUserWorkItem( func, param ); 数増:ThreadPool.GetMinThread( out num, out io );ThreadPool.SetMi…

「プロフェッショナル C#」ってどうよ

この間、図書館で以下を見つけて読んでます。プロフェッショナルマスター VISUAL C# 2010 (MSDNプログラミングシリーズ)作者: 川俣晶出版社/メーカー: 日経BP社発売日: 2010/07/22メディア: 単行本購入: 1人 クリック: 44回この商品を含むブログ (6件) を見…

ForEachメソッド

C#

foreach( var x in 列挙オブジェクト)を、System.Array.ForEach( 列挙オブジェクト, 繰り返し用メソッド)で。繰り返し用メソッドはラムダ式で実現できる。 メリットはたくさんありますが、みんなが使うソースではせんほうがいいでしょう。

C#の自習を復活させよう。

C#

実務がC++なんでC#は意識しないとどんどん忘れちゃって。 今日から、復活しようと有給とって復習してきました。・・・復習って集中力がかなり欠けるということが分かった。で読み始めるのはこれから 1年ぐらい前に読んだんですが、お気に入りです。で再確認…

MCTS 70-536取得に用いたマインドマップ達:Install

C#

System.Configuration.Installです。 これ・・・使ってんですかね。 一般的に。どうもVSについてる的なInstallerって使われていないような気がします。 →どうなんでしょう? 13.MCTS 70-536取得 - System.Configuration.Install.ppt

MCTS 70-536取得に用いたマインドマップ達:configuration

C#

System.Configuration、これも勉強するまで知らなかった、いや忘れてました。実際に設定が必要なアプリを携わらないと、モノにできそうにありませんが、以外と奥深いことできたりします。 12.MCTS 70-536取得 - System.Configuration.ppt

MCTS 70-536取得に用いたマインドマップ達:AppDomain

C#

今回はAppDomainですが、70-536取得に向けた勉強で初めて知りました。 必要となるんだろうか・・・実務以外では用途は少なそう。 11.MCTS 70-536取得 - System.AppDomain.ppt

MCTS 70-536取得に用いたマインドマップ達:サービス

C#

サービスです。 全然マスターできてません。 これはサービスが必要なアプリ開発して、マスターするしかないんでしょう。 MCTS 70-536取得 - WindowsService.ppt

MCTS 70-536取得に用いたマインドマップ達:System-Thread

C#

Threadです。 大きいから見難いですね。 ケースバイケースで使い分けるんでしょうか・・・ MCTS 70-536取得 - System.Thread.ppt

MCTS 70-536取得に用いたマインドマップ達:System-Interface

C#

次は『何ができるか』でおなじみのInterfaceです。 有名どころぐらいしかありません。 MCTS 70-536取得 - System - Interface.ppt

MCTS 70-536取得に用いたマインドマップ達:例外

C#

次は例外です。難しいですよね。 ApplicationExceptionはあかんとか話題になりましたが、 詳細には書いてないので、ヒットしていません。 MCTS 70-536取得 - System - 例外.ppt