ふらっとC#,C♯,C#(初心者用) Part77
今、C#とVBって同じチームで作ってるから競争原理とか働かないよ。
yield も次のバージョンで入るんじゃなかったっけ?
良くも悪くもMS自信が使っているというのが大きいわな
MSが欲しいと思った機能がすぐにC#に追加され、
それをVBユーザーが欲しがったらVBにも追加される
みんなVB.netのことを馬鹿にするけど、これだってすぐれた点はあるんだ!
たとえば多重ループからの一括break…… 他なんかあったっけ?
>>954 次期バージョンの話だけど、ラムダ式内でYield使える。
メリットないと思ってるけど、VBにしかない機能ってので言うと、
XMLリテラル、Withステートメント、WithEvents、Handles。
あと、VBの場合匿名クラスがmutableなんじゃなかったっけ。
(C#のはimmutable。そうしとかないと、ToDictionaryとかで辞書のキーになったときにヤバい。)
こう答えでたんだから、そんなき力いれないでもさ。
C#勉強してて、モチベーションが上がらないときはどうしてる?
Linq、イテレーター辺りを勉強してるんだけど、どうもモチベーションが上がらない
アプリをつくろうと思っても、長続きしない・・・
>>958 C#は手段であり。目的ではない。わかるな?
強制されているのでなければ止めればいい
まとめるとVB脳の恐怖ということで>all
>>958泡姫にマットでスリスリしてもらって、首筋をナデナデしてもらう。
これで心機一転、月曜から水曜辺りまではモチベーションが持続する。
>>961 そういうのがいちばん「○○脳の恐怖」っぽい。
>>958 それが君にとってアウェーだからだ。
もうちょっと手の届きやすいところから始めるといいと思うよ。
VB.NETで書くのは別に文句言わないけどせめてOption Strict Onにはしてくれ
電脳の恐怖--サイバーガール--って書いたらなんかB級映画くさい
電脳 子 射る ?
ボクサッチー
アプリでどうしてもHTMLで出力したいんですけど、StreamWriterクラスのWriteLineメソッド使って一行づつ出力してるんですけど
ソースが汚くなりがちで・・・ちょっと困ってます
他には一回変数に入れて、
string html = @"<!DOCTYPE html>
<html>
〜省略〜
</html>";
みたいな感じにすると、出力されたファイルのソースを見ると左がものすごくあいてしまいます・・・
どうにかプログラムのソースも出力ファイルされたファイルのソースも綺麗にする方法ないですか?
974 :
デフォルトの名無しさん:2011/08/02(火) 06:10:40.39
>>972 C#じゃないけど、そういう処理はPowerShellに頼ったりしてる。
C#でやるならテンプレートエンジン探してくるのがいいと思うけども。
あと、そのコードで左側がものすごく空く理由が分からない。
@"以降の行、全部左に寄せりゃいいんじゃない?
ソースコードをよく見ればわかるよ
@はソースにを書かれてるのをそっくりそのまま文字列にする
もちろんインデントも例外じゃない
素直に+で連結すればいいのに。
コンパイル時に連結されるから、パフォーマンスヒットは無いぞ。
>>972 標準ならT4テンプレート。
前処理されたテキストテンプレートという項目があるから、多分、それが用途に適してると思う。
出力の見た目を気にするならT4はクソ面倒だよ
明示的にインデント入れたりしてたら結局コードで出力するより手間かかる
非同期的にWeb上から文字列をダウンロードしたいので
System.Net.WebClient.DownloadStringAsynceメソッドを使ったんですが、ダウンロードしてきたものをどうやって受ければいいのかわかりません
DownloadStringメソッドならstring型の変数で受けれたんですが・・・どうやって受け取ればいいですか?
>>980 そのメソッドの引数にデリゲートを受け取る引数ってなかったっけ?
もしくはWebClientにイベント。 詳しい使い方はMSDN見るとわかるよ。
あと、WebClientって古いから使うなとか何とかなかったっけ?
別のやつが古くてWebClient仕えって話だったかも知れないけど。
982 :
デフォルトの名無しさん:2011/08/02(火) 22:08:47.98
>ダウンロードが完了すると、DownloadStringCompleted イベントが発生します。アプリケーションは、このイベントを処理して通知を受け取る必要があります。ダウンロードされた文字列は、Result プロパティで使用できます。
client.DownloadStringCompleted += (sender, e) => { text = e.Result; };
client.DownloadStringAsync(uri);
え!WebClientが非推奨?
ちょっとその情報どこよ。
>>981 ResponseHeaderから文字コードを判定してデコードしてくれないのが嫌って言ってる人ならいた。
だからHttpWebRequest生で使うとかわけのわからないことおっしゃってたけど、
それならWebClientでも別にできるのに。
やっぱ
>>980 みたいなレス見るにつけ、C# 5.0早く来て―って思う。
名前付き Mutex を使っていたんですが、
すでにほかのプロセスで、その名前の Mutex が所有されているかどうかだけ、
自分で所有権を得ることなく調べる方法はありませんか?
おそらく Mutex 以外を使えということになると思っているのですが、
何を使ったらいいのかまで教えていただけると幸いです。
if(m.WaitOne(0, false))
{
m.ReleaseMutex();
}
これじゃ駄目なのかよ
989 :
987:2011/08/03(水) 03:24:20.43
かなりタイミングがシビアなのですが、
m.WaitOne(0, false) から m.ReleaseMutex() の間に別のプロセスの
WaitOne(0, false) が実行される可能性は考えなくてもよいのでしょうか?
たしかに、言われてみれば、そのような状況になるのは、かなり考えにくいとは思うのですが…
m1.WaitOne();
if (m2.WaitOne(0, false))
{
m2.ReleaseMutex();
}
m1.ReleaseMutex();
そんなもの2段ロックすれば良いだけだと思うけど
それはそうと、次スレは準備しなくてもいいのかね?
992 :
987:2011/08/03(水) 03:41:00.06
>>990 なるほど、おっしゃるとおりです。
ありがとうございました!!
じゃあ立てます
おつ
うめ
998
999
1000
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。