読者です 読者をやめる 読者になる 読者になる

basyura's blog

あしたになったらほんきだす。

C# - ループカウンタ

C#

C#プログラマーのための 基礎からわかるLINQマジック!作者: 山本康彦出版社/メーカー: 技術評論社発売日: 2016/05/12メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見るLINQ でループカウンタがあるメソッドがあるのを知らなかった。使いど…

XAMLとC#によるUniversal Windows Platform アプリ開発

C#

XAMLとC#によるUniversal Windows Platform アプリ開発作者: 大田一希発売日: 2015/09/26メディア: Kindle版この商品を含むブログを見るxaml は難しいなぁ。xaml でもできるといっても PG で解決した方が簡単だったりするしなぁ。MVVM すると直近の解決法と…

WPF - 独自コントロールに独自イベント

某システムで xsl を用いた時に「xsl 地獄もう嫌だ」と心の底から思ったし、もろもろ設定の xml もうんざりだと思ってたのにココにきての xaml。これは最強の xml 地獄だなと思いつつ数年経過。ようやく書けるようになってきたかなという感じはするけど奥が…

C# - プロパティ

C#

C# はプロパティがあるから簡単に書けて便利っていう話があるけど そんなこと無いよなと RaisePropertyChanged を書きながら思う日々。 public string _Message; public string Message { get { return _Message; } set { _Message = value; RaisePropertyCh…

C# - 任意の sln をビルドする

c#

あってるのか良くわからないけど、ビルドはできた。 public void Build(string slnPath) { FileInfo info = new FileInfo(slnPath); Directory.SetCurrentDirectory(info.DirectoryName); ProcessStartInfo psInfo = new ProcessStartInfo() { FileName = "x…

C# - 任意のディレクトリ配下にある任意のファイルの一覧を取得する

C#

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

プログラミング.NET Framework 第4版作者: Jeffrey Richter出版社/メーカー: 日経BP社発売日: 2014/07/30メディア: Kindle版この商品を含むブログを見る終盤はだいぶ読み流してしまったけど、かなり勉強になった。 マルチプラットホームになるらしいし、やっ…

名前付き引数

c#

使えたんだ・・・知らなかった。 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…

foreach のあとの foreach

C#

なんとなく linq で抽出した後に foreach でなにかしら回しながら処理をしたあと、さいど foreach で回すとループで回らないのじゃないかという不安から、ToList() でリストにしてから foreach してしまうことがある。 using System; using System.Linq; usi…

C#によるマルチコアのための非同期/並列処理プログラミング

c#

C#によるマルチコアのための非同期/並列処理プログラミング作者: 山本康彦出版社/メーカー: 技術評論社発売日: 2013/07/20メディア: 大型本この商品を含むブログ (11件) を見る前半、特にフォアグラウンド/バックグラウンドスレッド周りは勉強になった。そし…

mono で log4net

C#

プロジェクトで log4net を使ってるけど、使ってるだけでどういうものかよく分かってなかったので mono で試してみる。 log4net ソースをプロジェクトから取得 http://logging.apache.org/log4net/source-repository.html $ svn checkout http://svn.apache.…

mono で async/await

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…

CallerFilePath, CallerLineNumber, CallerMemberName attributes

C#

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 = "…

C# のプロパティ禁止ルールを設けてみたい

C#

便利ですよね、プロパティ。 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 = "…

FindAll と Where

C#

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>…

確かに ToArray の方が早いんだなぁ

C#

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>…

インスタンスを生成しつつ、差分で初期処理を行う

C#

良い感じでジェネリクスを使えたような気がするけど、どうなんだろう。 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#TryGetValue のどのへんが使いやすいんだろうか

c#

Dictionary でインデクサを使ってアクセスした際に該当するキーが無いと、KeyNotFoundException がスローされる。 例外が発生しないようにするためには、Dictionary#ContainsKey を使ってチェックすることになる。 そんなの効率悪いよーって人のために Dicti…

C#プログラミング すぐに現場で使える知識

〔速攻入門〕 C#プログラミング すぐに現場で使える知識作者: 中博俊,猪股健太郎,岩永信之,山本康彦出版社/メーカー: 技術評論社発売日: 2012/03/09メディア: 単行本(ソフトカバー) クリック: 9回この商品を含むブログ (8件) を見るこれは当たりだなぁ。 …

Action

c#

メソッドをパラメータで渡して実行する。 パラメーターを受け取らず、戻り値を持たないメソッドをカプセル化します。 Action デリゲート using System; class Class1 { static void Main(string[] args) { Class1 cs1 = new Class1(); cs1.Say(); } public v…

c# の twitter ライブラリを書いてみた - twicseratops

c# の勉強がてら書いてみた。 IDE はまだ使いたくないので、vim とコンパイルコマンド(csc)で。 オリジナル OAuth認証でTwitterにアクセスするコードをC#で書いてみた。OAuthBase.csを参考にした。 C#でOAuthでTwitter つくったもの https://github.com/basy…

C# で GUI アプリを作る

C#

visual studio を使わずに。eclipse のコンソールに流れる、cvs リポジトリにコミットした際のログを wiki フォーマットに変換するツールを作りたい。クリップボードに貼り付ける機能も欲しい。 cvs のフックでゴニョゴニョは諸事情によりできない eclipse …

C# の基本

C#

文字列 String msg1 = "hello"; string msg2 = "world"; string は String のエイリアスらしいんだけど、string を使うほうが標準的? 大文字と小文字始まりが混ざるのが気持ち悪いんだけど、メリットはなに?? 文字列連結 using System.Text; StringBuilde…

IDE が無くても C# が書けるんだよ

ちょっと動作確認したいだけなのに、スクリプトライクに軽い感じで書きたいだけなのに、、、Visual Studio や Visual Web Developer とか糞重いの入れるの嫌だーーーーー。 と思ってたら案外簡単だった。ただし、GUI はまだ良く分かってない。 .Net Framewor…