c#
Enumerable.Select(TSource, TResult) メソッド (IEnumerable(TSource), Func(TSource, Int32, TResult)) (System.Linq) public static IEnumerable<TResult> Select<TSource, TResult>( this IEnumerable<TSource> source, Func<TSource, int, TResult> selector ) 要素が 1 個でも 1000 個でも変わるのは 1 ms 程度だっ</tsource,></tsource></tsource,></tresult>…
LINQ 大好きなのはいいんだけど基本的に for で回してるのと同じだってことを認識していない人が多くて困る。魔法か何かと勘違されてる。これに起因してパフォーマンス悪化しまくり。LINQ 便利で使うのだけど、LINQ がない時にそんなにループで回すこと多か…
C#プログラマーのための 基礎からわかるLINQマジック!作者: 山本康彦出版社/メーカー: 技術評論社発売日: 2016/05/12メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見るLINQ でループカウンタがあるメソッドがあるのを知らなかった。使いど…
XAMLとC#によるUniversal Windows Platform アプリ開発作者: 大田一希発売日: 2015/09/26メディア: Kindle版この商品を含むブログを見るxaml は難しいなぁ。xaml でもできるといっても PG で解決した方が簡単だったりするしなぁ。MVVM すると直近の解決法と…
某システムで xsl を用いた時に「xsl 地獄もう嫌だ」と心の底から思ったし、もろもろ設定の xml もうんざりだと思ってたのにココにきての xaml。これは最強の xml 地獄だなと思いつつ数年経過。ようやく書けるようになってきたかなという感じはするけど奥が…
C# はプロパティがあるから簡単に書けて便利っていう話があるけど そんなこと無いよなと RaisePropertyChanged を書きながら思う日々。 public string _Message; public string Message { get { return _Message; } set { _Message = value; RaisePropertyCh…
あってるのか良くわからないけど、ビルドはできた。 public void Build(string slnPath) { FileInfo info = new FileInfo(slnPath); Directory.SetCurrentDirectory(info.DirectoryName); ProcessStartInfo psInfo = new ProcessStartInfo() { FileName = "x…
var projects = Find(baseDir, (v) => v.EndsWith(".csproj")); private List<string> Find(string baseDir, Func<string, bool> condition, List<string> list = null) { list = list ?? new List<string>(); var projects = Directory.GetFiles(baseDir).Where(v => condition(v)); list.AddRange</string></string></string,></string>…
プログラミング.NET Framework 第4版作者: Jeffrey Richter出版社/メーカー: 日経BP社発売日: 2014/07/30メディア: Kindle版この商品を含むブログを見る終盤はだいぶ読み流してしまったけど、かなり勉強になった。 マルチプラットホームになるらしいし、やっ…
使えたんだ・・・知らなかった。 using System; class Class1 { public void Print(string message, string id = "-", DateTime date = default(DateTime)) { Console.WriteLine("message={0}, id={1}, date={2}", message, id, date); } static void Main(s…
なんとなく linq で抽出した後に foreach でなにかしら回しながら処理をしたあと、さいど foreach で回すとループで回らないのじゃないかという不安から、ToList() でリストにしてから foreach してしまうことがある。 using System; using System.Linq; usi…
C#によるマルチコアのための非同期/並列処理プログラミング作者: 山本康彦出版社/メーカー: 技術評論社発売日: 2013/07/20メディア: 大型本この商品を含むブログ (11件) を見る前半、特にフォアグラウンド/バックグラウンドスレッド周りは勉強になった。そし…
プロジェクトで log4net を使ってるけど、使ってるだけでどういうものかよく分かってなかったので mono で試してみる。 log4net ソースをプロジェクトから取得 http://logging.apache.org/log4net/source-repository.html $ svn checkout http://svn.apache.…
Mono is a software platform designed to allow developers to easily create cross platform applications. Sponsored by Xamarin, Mono is an open source implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Com…
using System; using System.Runtime.CompilerServices; class Class1 { static void Main(string[] args) { Hello(); } private static void Hello([CallerFilePath] string file = "", [CallerLineNumber] int no = 0, [CallerMemberName] string name = "…
便利ですよね、プロパティ。 public class Person { public string FirstName { get; set; } public string LastName { get; set; } public int Age { get; set; } } って定義すれば。 Person person = new Person() { FirstName = "hogemura", LastName = "…
class Class1 { static void Main(string[] args) { List<string> list = new List<string>() { "a","ab","c","d","af" }; Stopwatch watch = new Stopwatch(); watch.Start(); List<string> extracted = list.FindAll((v)=> v.StartsWith("a")); watch.Stop(); Console.WriteLine(wa</string></string></string>…
using System; using System.Linq; using System.Collections; using System.Collections.Generic; class Class1 { static void Main(string[] args) { List<string> list = new List<string>(); for (int i = 0 ; i < 1000000; i ++) { list.Add(i.ToString()); } IEnumerab</string></string>…
良い感じでジェネリクスを使えたような気がするけど、どうなんだろう。 using System; class Factory { static void Main(string[] args) { Prop prop = Factory.NewInstance<Prop>((h) => { h.Age = 30; }); Console.WriteLine(prop.Name); Console.WriteLine(pro</prop>…
Dictionary でインデクサを使ってアクセスした際に該当するキーが無いと、KeyNotFoundException がスローされる。 例外が発生しないようにするためには、Dictionary#ContainsKey を使ってチェックすることになる。 そんなの効率悪いよーって人のために Dicti…
〔速攻入門〕 C#プログラミング すぐに現場で使える知識作者: 中博俊,猪股健太郎,岩永信之,山本康彦出版社/メーカー: 技術評論社発売日: 2012/03/09メディア: 単行本(ソフトカバー) クリック: 9回この商品を含むブログ (8件) を見るこれは当たりだなぁ。 …
メソッドをパラメータで渡して実行する。 パラメーターを受け取らず、戻り値を持たないメソッドをカプセル化します。 Action デリゲート using System; class Class1 { static void Main(string[] args) { Class1 cs1 = new Class1(); cs1.Say(); } public v…
c# の勉強がてら書いてみた。 IDE はまだ使いたくないので、vim とコンパイルコマンド(csc)で。 オリジナル OAuth認証でTwitterにアクセスするコードをC#で書いてみた。OAuthBase.csを参考にした。 C#でOAuthでTwitter つくったもの https://github.com/basy…
visual studio を使わずに。eclipse のコンソールに流れる、cvs リポジトリにコミットした際のログを wiki フォーマットに変換するツールを作りたい。クリップボードに貼り付ける機能も欲しい。 cvs のフックでゴニョゴニョは諸事情によりできない eclipse …
文字列 String msg1 = "hello"; string msg2 = "world"; string は String のエイリアスらしいんだけど、string を使うほうが標準的? 大文字と小文字始まりが混ざるのが気持ち悪いんだけど、メリットはなに?? 文字列連結 using System.Text; StringBuilde…
ちょっと動作確認したいだけなのに、スクリプトライクに軽い感じで書きたいだけなのに、、、Visual Studio や Visual Web Developer とか糞重いの入れるの嫌だーーーーー。 と思ってたら案外簡単だった。ただし、GUI はまだ良く分かってない。 .Net Framewor…