いてづきブログ

情シスでやってみたことの備忘録

C#

javaにvarが実装されたらしい

もうjavaは久しく触ってないですが。 togetter.com var (型推論)が導入されていろいろ物議を醸しているみたい。 C#では10年も前に実装され、散々され尽くしたであろう議論がまた行われてるのを見てるといろいろと考えてしまう。 そこそこよく見かけるjava…

サービスアカウントを用いたGoogle APIへのアクセス方法

qiita.com Qiitaに投稿しました。 認証とかいろいろ面倒くさくて大変。 Developer Consoleの見た目がいろいろ変わってて、目的の画面にたどり着けなかったりして、疲れたorz GASなら簡単にできるのになー(笑)

オブジェクトの配列の各要素に同じ処理をする方法

C#

C#で配列やコレクションのすべての要素に処理を行うでググると色々出てくるけど大抵の場合intとかstringみたいな基本型のものだったりする。 こんな感じ。 IEnumerable<int> intAry = new List<int>() { 1, 2, 3, 4, 5 }; // 各要素を2倍にする intAry = intAry.Select</int></int>…

IMongoQueryでnullかどうかを判別する

値がnullかどうかで判別する場合はBsonNull.Valueを使う var collection = db.GetCollection("collection"); var query = Query.EQ("name", BsonNull.Value); var docs = collection.Find(query);

splitの区切りに文字列を使う

C#

C#のsplitで分割しようとしたら、char型の1文字しか指定できなかった。 …と思ったらやっぱりやれば出来たという話。 こんな感じ。 var s = "12@@34@@55@@66";var split = s.Split(new string { "@@" }, StringSplitOptions.None);Console.WriteLine(split); …

GoogleAPIの認証方法をClientからOAuth2に切り替える

社内で使用していたSpreadsheetServiceの認証が通らなくなって対応したのでQiitaに投稿しました。 <a href="http://qiita.com/mistolteen/items/ddd3b65b583b7b9b76bb" data-mce-href="http://qiita.com/mistolteen/items/ddd3b65b583b7b9b76bb">google - SpreadsheetServiceの認証方法をClientからOAuth2に切り替える - Qiita</a>qiita.com Clientログインはサポートを終了したので下記のようなエラー…

処理時間を計測する

C#

var sw = new Stopwatch(); sw.Start(); // 処理 sw.Stop();long millisec = sw.ElapsedMilliseconds; Console.WriteLine(millisec);

プロジェクトの種類がこのインストールでサポートされていません

C#

新しいPCにしたら前のプロジェクトを読み込めなくなったのでメモ。行った対策は2つ Visual Studio SP1をインストール 公式のダウンロード センターから Microsoft Visual Studio 2010 Service Pack 1 (インストーラー) をダウンロード ASP.NET MVCをインスト…

フィールドの初期化

C#

C#でクラスをnewしたときにフィールドを初期化する書き方。public class hoge{ public int foo {set; get;} public string bar {set; get;} };var moge = new hoge(){ foo = 1, bar = 'piyo' };こんな感じ。 へぇ〜って思いました。

ASP.NET MVCでAWSから画像取得

タイトル通り。 ControllerでAWS上の画像ファイルを取得して返すやり方。検索すると結構海外でも同じようなところでハマっている模様。 フォーラムは基本英語ばっかりで読むのが辛いお・・・(´・ω・`) アクセスキーは予めconfigに書いておく AWS上のキーを引…

GoogleAppsのパスワードを更新

C#

まずはGoogle Data API SDKをインストーするする必要がある。[C#] Google Data API SDKのインストール プロジェクトに以下のdllの参照を追加する。 場所はデフォルトなら「C:\Program Files\Google\Google Data API SDK\Redist」 Google.GData.Apps Google.G…

ファイルの権限一覧を取得してみるテスト

C#

ファイルの権限一覧を取得してみるテスト public static List GetAccesivility(string path) { List aces = new List(); try { //ディレクトリのセキュリティオブジェクト取得 DirectorySecurity security = Directory.GetAccessControl(path); //アクセス権…

interfaceの自動実装

C#

自動実装といってもスケルトンですが。classにinterfaceを実装した際、実装したinterfaceをハイライトして右クリック→インターフェースの実装で、スケルトンコードを自動で実装します。 中身はすべて「throw new NotImplemet」

TextBoxのカーソル位置

C#

TextChangedイベント内で、TextBox.Textに文字列をつっこむと、TextBoxの文字列が全選択状態になってしまう(みたい)。 問題なく編集を続けるには以下のようにして、カーソル位置を常に前回の位置に持っていく必要がある。 実装のサンプルはこんな感じ。 in…

動的にコントロールを追加する場合のプロパティ設定

C#

IMEでのTextChangedイベントについて - いてづきブログ ↑の記事で、IMEを無効にするやり方があったから使おうと思ったけど、動的にコントロールを作るとIsInputMethodEnabledは読み取り専用でアクセスできないんですね。じゃあどうやって設定するかというと…

配列の宣言

C#

聞かれてパッと答えられなかったので自戒を込めてメモorz string[] hoge = new string[3];

DataGridの選択状態

C#

SetCurrentCell 現在カーソルがあるセルを指定する。指定できるのは一つだけ。 SelectedCells 選択状態になっているセル。Ctrl押しながらだと複数選べて、青くなっているセル。SelectionUnitで複数選べたりする場合があるからListになっている。 今のドキュ…

DataGridを編集状態にする

C#

WPFのDataGridで、セルを編集状態にするには、BeginEditメソッドを使用する。 DataGridはセルの選択一つとってもいろいろなメソッドやら選択状態がたくさんあって対応が大変。 それなのに表示しつつ入力もしたり〜なんて無茶苦茶やれば、開発現場が火を吹く…

IMEでのTextChangedイベントについて

C#

IMEで変換すると、変換したときにTextChangedが走って不具合が発生するという指摘を受け、いろいろと調査。 ↓とても詳しい解説をしていらっしゃるページを発見。 IMEで変換状態中でもTextBox.TextChangedが発生する | 泥庭詳しい内容については、あとで読む…

浮動小数点の話

C#

値が1.2になるパターン double hoge = 6.0 / 5; double hoge = 6 / 5.0; double hoge = 1.0 * 6 / 5; 値が1.0になるパターン double hoge = 6 / 5; double hoo = 6 / 5 * 1.0; 1.2になるパターンのうち、3つ目の最初に1.0をかけるやり方がスマートな気がしま…

BorderThicknessの設定

C#

値を設定するときは左辺、上辺、右辺、下辺。1つだけ指定だと全辺に同じ値適用?

参照先を追加する場合

C#

Visual Studioで参照を追加する場合、Visual Studio上から追加するとDebug/Release、x86/x64が固定で追加されてしまう。すると、プラットフォームを変更したときにコンパイルのために参照の追加・削除を行わなければならない。 プラットフォームを変えるだけ…

F12の呼び出し元に戻る

C#

Visual StudioでF12で定義を見た後に、呼び出し元に戻るショートカット。 [Ctrl]キー+[-]キー 超便利。これはありがたい。

C#のリフレクション

C#

public string reflect (object iObj) { Type type = iObj.GetType (); PropertyInfo Properties = type.GetProperties (); List<string> oStr = new List<string> (Properties.Length); oStr.Add ("Type\t:\t" + type.ToString ()); foreach (PropertyInfo Property in Prop</string></string>…

MultiMapのようなもの

C#

一つのkeyに対応する複数のvalueを持たせたい場合。 C++にはmultimapというものが存在するらしいけど、C#にはない。String限定でよければNameValueCollectionクラスというものがある。 http://msdn.microsoft.com/ja-jp/library/system.collections.speciali…

DataGridあれこれ

C#

共通コントロールとして作成されているDataGridで不具合がいっぱい出ているらしい。 だからDataGridのセルの中にコントロールを配置するのはやめろと(ryチェックボックスとか、セルにフォーカスが当たってからじゃないとチェックされなかったりして、おか…

internal修飾子

C#

同じアセンブリ内でのみ参照できるアクセス修飾子。同じアセンブリ内でコントロールと、そのコントロールでのみ生成できるイベントがある場合、イベントのコンストラクタをinternalにする。C#のnamespaceとかアセンブリとか、イマイチ苦手…。