だらだらやるよ。 このページをアンテナに追加 RSSフィード

 

2011-08-22

2011-07-14

あれ、バグ?なのかしら。(追記)仕様でした。

| あれ、バグ?なのかしら。(追記)仕様でした。 - だらだらやるよ。 を含むブックマーク あれ、バグ?なのかしら。(追記)仕様でした。 - だらだらやるよ。 のブックマークコメント

ちょっと時間なかったのでちゃんと調べれてない。。。

ディレクトリの削除時にどうもおかし挙動が。


.NETバージョンは4.0かな。

フォルダを中身ごとまるごと削除したいと思って、

DirectoryInfo dir = new DirectoryInfo(path);
dir.Delete(true);

ってやったら、

フォルダの中身が空ではありませんって例外が出た。

はて。。。と思ったけど類似の現象は見当たらなかった。

なんとなく

Directory.Delete(path,true);

に書き換えたら無事動きました。。。


追記、どうやらそれで仕様どおりらしいです。同じ動きするものだと思ってました。。。。

DirectoryInfo.Delete(string)

http://msdn.microsoft.com/ja-jp/library/adtekwst.aspx


Directory.Delete(string, bool)

http://msdn.microsoft.com/ja-jp/library/fxeahc5f.aspx


やっぱMSDNは読まないとだめですね。

id:masa-kさんありがとうございました!!

masa-kmasa-k 2011/07/14 16:37 ん? どちらも仕様通りの動きですよー。

DirectoryInfo.Delete(string)
http://msdn.microsoft.com/ja-jp/library/adtekwst.aspx

>> DirectoryInfo が空の場合に、そのインスタンスを削除します。

Directory.Delete(string, bool)
http://msdn.microsoft.com/ja-jp/library/fxeahc5f.aspx

>> 指定したディレクトリと、特に指定されている場合はディレクトリ内の任意のサブディレクトリおよびファイルを削除します。

nagakura_eilnagakura_eil 2011/07/16 17:41 masa-kさん
おおお、これ仕様どおりだったんですね。。。
ちゃんと読もうMSDN...コメントありがとうございました!

karaikarai 2015/02/04 18:44 えーと、stringを引数に取るDeleteなんてどこにもないんですが、何の話をしてますでしょう? それとも仕様変わったのかな。
引数なしのDirectoryInfo.Delete()については、「空の場合に」だろうとおもうんですけど、booleanを引数に取るものについては、Directory.Delete(string, bool)と同じ動きをするようにしか読めないのですけどね……。

で、個人的には、キャッチしてもう一回Delete(true)かけるようにしてたりしたら、そのうち例外も出なくなったという、結局謎状況で。
何かやっぱり問題あるんじゃないですかねぇ。

2011-06-08

ボタン押したら画面のロックする。みたいなとき。

| ボタン押したら画面のロックする。みたいなとき。 - だらだらやるよ。 を含むブックマーク ボタン押したら画面のロックする。みたいなとき。 - だらだらやるよ。 のブックマークコメント

Windows Phone 7で、アプリ内でロックさせたい時とか。

こんな感じかしら?

private void LockButton_Click(object sender, EventArgs e) {
           if (this.SupportedOrientations == SupportedPageOrientation.PortraitOrLandscape) {
               if (this.Orientation == PageOrientation.Landscape ||this.Orientation == PageOrientation.LandscapeRight || this.Orientation== PageOrientation.LandscapeLeft) {
                   this.SupportedOrientations = SupportedPageOrientation.Landscape;
               } else {
                   this.SupportedOrientations = SupportedPageOrientation.Portrait;
               }
           } else {
               this.SupportedOrientations = SupportedPageOrientation.PortraitOrLandscape;
           }
}

なんか3行目のif文がすげーいやな感じ。。。

2011-06-07

UTFのコードポイントを文字列に変換する。

| UTFのコードポイントを文字列に変換する。 - だらだらやるよ。 を含むブックマーク UTFのコードポイントを文字列に変換する。 - だらだらやるよ。 のブックマークコメント

サーバからの返答が\u[0-9a-f]な文字列で返ってきたので作りました。

もうちょっと簡単な変換方法ありそうなものなのだけど。。。誰か知りませんか。

とりあえず僕のコード張っておきますね。

       public static string ConvertUnicodeCodePointStringToString(string str) {
           Regex r = new Regex("\\\\u([0-9a-f]+)");
           return r.Replace(str, new MatchEvaluator(delegate(Match m) {
               char c = (char)Convert.ToInt32(m.Value.Remove(0, 2), 16);
               return c.ToString();
           }));
       }

2011-06-06

タイピングのリズム

| タイピングのリズム - だらだらやるよ。 を含むブックマーク タイピングのリズム - だらだらやるよ。 のブックマークコメント

古い話ですが、.NET3.5以降、varキーワードが導入されました。

//2まで
List<string> list = new List<string>();
//3.5からはこうかける。
var list = new List<string>();

タイプ量は減ったはずなのですが、いまいちどうも慣れません。

どうしても型から書いてたときの癖で、まず型を書かないと変数名が出てこないんですよね。

なのでうっかりこういうコードを書こうとしてしまいます。

var = new List<string>();

で、変数名ないのに改行して気づく。という。

あとは単純に指のリズムの問題もあります。

VS使ってる人はわかると思うのですが、

List<string> list = new までタイプして、コントロールスペース()で終わり。

実際タイプ数自体はそんなに減ってないのですよねー


当然読むときには2回も同じ名前見なくてすむのでvarのほうがよいですね。

genericsとか使ってクラス名が長いときはとくに。

いろいろスクリプト系の言語も使ってきたけどやっぱり型システムがしっかりしてるほうが好きということですかね。

単純に慣れの問題といわれればまあそうなのだけど。

このブログは清野竜矢の個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、 私の雇用者には一切の関係はありません。