ふらっとC#,C♯,C#(初心者用) Part77

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2011/07/31(日) 14:56:08.17
今、C#とVBって同じチームで作ってるから競争原理とか働かないよ。

yield も次のバージョンで入るんじゃなかったっけ?
953デフォルトの名無しさん:2011/07/31(日) 14:59:52.95
良くも悪くもMS自信が使っているというのが大きいわな
MSが欲しいと思った機能がすぐにC#に追加され、
それをVBユーザーが欲しがったらVBにも追加される
954デフォルトの名無しさん:2011/07/31(日) 15:36:22.32
みんなVB.netのことを馬鹿にするけど、これだってすぐれた点はあるんだ!
たとえば多重ループからの一括break…… 他なんかあったっけ?
955デフォルトの名無しさん:2011/07/31(日) 15:41:03.23
>>954
次期バージョンの話だけど、ラムダ式内でYield使える。

メリットないと思ってるけど、VBにしかない機能ってので言うと、
XMLリテラル、Withステートメント、WithEvents、Handles。
956デフォルトの名無しさん:2011/07/31(日) 15:42:23.50
あと、VBの場合匿名クラスがmutableなんじゃなかったっけ。
(C#のはimmutable。そうしとかないと、ToDictionaryとかで辞書のキーになったときにヤバい。)
957デフォルトの名無しさん:2011/07/31(日) 15:46:58.03
こう答えでたんだから、そんなき力いれないでもさ。
958デフォルトの名無しさん:2011/07/31(日) 21:02:21.34
C#勉強してて、モチベーションが上がらないときはどうしてる?
Linq、イテレーター辺りを勉強してるんだけど、どうもモチベーションが上がらない
アプリをつくろうと思っても、長続きしない・・・
959デフォルトの名無しさん:2011/07/31(日) 21:03:35.22
>>958
C#は手段であり。目的ではない。わかるな?
960デフォルトの名無しさん:2011/07/31(日) 21:03:57.44
強制されているのでなければ止めればいい
961デフォルトの名無しさん:2011/07/31(日) 21:24:03.10
まとめるとVB脳の恐怖ということで>all
962デフォルトの名無しさん:2011/07/31(日) 22:14:43.25
>>958泡姫にマットでスリスリしてもらって、首筋をナデナデしてもらう。
これで心機一転、月曜から水曜辺りまではモチベーションが持続する。
963デフォルトの名無しさん:2011/07/31(日) 22:16:12.91
>>961
そういうのがいちばん「○○脳の恐怖」っぽい。
964デフォルトの名無しさん:2011/07/31(日) 22:16:54.63
>>958
それが君にとってアウェーだからだ。
もうちょっと手の届きやすいところから始めるといいと思うよ。
965デフォルトの名無しさん:2011/07/31(日) 23:59:24.07
>>963
おい木曜以降w
966デフォルトの名無しさん:2011/08/01(月) 01:09:20.00
これを見て中川を偲ぼうぜ。

http://www.youtube.com/watch?v=G98Ka0ohxPQ&feature=fvst
967デフォルトの名無しさん:2011/08/01(月) 01:18:47.12
VB.NETで書くのは別に文句言わないけどせめてOption Strict Onにはしてくれ
968デフォルトの名無しさん:2011/08/01(月) 01:26:17.73
>>966
コピペ脳の恐怖、まで読んだ。
969デフォルトの名無しさん:2011/08/01(月) 02:07:49.42
電脳の恐怖--サイバーガール--って書いたらなんかB級映画くさい
970デフォルトの名無しさん:2011/08/01(月) 02:29:24.95
電脳 子 射る ?
971デフォルトの名無しさん:2011/08/01(月) 09:52:51.06
ボクサッチー
972デフォルトの名無しさん:2011/08/02(火) 06:00:28.62
アプリでどうしてもHTMLで出力したいんですけど、StreamWriterクラスのWriteLineメソッド使って一行づつ出力してるんですけど
ソースが汚くなりがちで・・・ちょっと困ってます
他には一回変数に入れて、
string html = @"<!DOCTYPE html>
<html>
〜省略〜
</html>";
みたいな感じにすると、出力されたファイルのソースを見ると左がものすごくあいてしまいます・・・
どうにかプログラムのソースも出力ファイルされたファイルのソースも綺麗にする方法ないですか?
973デフォルトの名無しさん:2011/08/02(火) 06:09:58.33
よう分からんがテンプレートエンジンに頼ってみる
http://www.atmarkit.co.jp/fdotnet/vblab/extcompo_05/stringtemplate_01.html
974デフォルトの名無しさん:2011/08/02(火) 06:10:40.39
975デフォルトの名無しさん:2011/08/02(火) 06:28:37.45
>>972
C#じゃないけど、そういう処理はPowerShellに頼ったりしてる。

C#でやるならテンプレートエンジン探してくるのがいいと思うけども。

あと、そのコードで左側がものすごく空く理由が分からない。
@"以降の行、全部左に寄せりゃいいんじゃない?
976デフォルトの名無しさん:2011/08/02(火) 09:30:09.19
ソースコードをよく見ればわかるよ
@はソースにを書かれてるのをそっくりそのまま文字列にする
もちろんインデントも例外じゃない
977デフォルトの名無しさん:2011/08/02(火) 19:47:49.26
素直に+で連結すればいいのに。
コンパイル時に連結されるから、パフォーマンスヒットは無いぞ。
978デフォルトの名無しさん:2011/08/02(火) 20:48:38.70
>>972
標準ならT4テンプレート。
前処理されたテキストテンプレートという項目があるから、多分、それが用途に適してると思う。
979デフォルトの名無しさん:2011/08/02(火) 21:01:12.15
出力の見た目を気にするならT4はクソ面倒だよ
明示的にインデント入れたりしてたら結局コードで出力するより手間かかる
980デフォルトの名無しさん:2011/08/02(火) 22:03:10.17
非同期的にWeb上から文字列をダウンロードしたいので
System.Net.WebClient.DownloadStringAsynceメソッドを使ったんですが、ダウンロードしてきたものをどうやって受ければいいのかわかりません
DownloadStringメソッドならstring型の変数で受けれたんですが・・・どうやって受け取ればいいですか?
981デフォルトの名無しさん:2011/08/02(火) 22:08:34.61
>>980
そのメソッドの引数にデリゲートを受け取る引数ってなかったっけ?
もしくはWebClientにイベント。 詳しい使い方はMSDN見るとわかるよ。

あと、WebClientって古いから使うなとか何とかなかったっけ?
別のやつが古くてWebClient仕えって話だったかも知れないけど。
982デフォルトの名無しさん:2011/08/02(火) 22:08:47.98
>ダウンロードが完了すると、DownloadStringCompleted イベントが発生します。アプリケーションは、このイベントを処理して通知を受け取る必要があります。ダウンロードされた文字列は、Result プロパティで使用できます。
983デフォルトの名無しさん:2011/08/02(火) 22:16:23.46
client.DownloadStringCompleted += (sender, e) => { text = e.Result; };
client.DownloadStringAsync(uri);
984デフォルトの名無しさん:2011/08/02(火) 22:19:53.01
え!WebClientが非推奨?
ちょっとその情報どこよ。
985デフォルトの名無しさん:2011/08/02(火) 23:05:59.03
>>981
ResponseHeaderから文字コードを判定してデコードしてくれないのが嫌って言ってる人ならいた。
だからHttpWebRequest生で使うとかわけのわからないことおっしゃってたけど、
それならWebClientでも別にできるのに。


やっぱ >>980 みたいなレス見るにつけ、C# 5.0早く来て―って思う。
986デフォルトの名無しさん:2011/08/03(水) 00:28:36.17
987デフォルトの名無しさん:2011/08/03(水) 02:59:22.52
名前付き Mutex を使っていたんですが、
すでにほかのプロセスで、その名前の Mutex が所有されているかどうかだけ、
自分で所有権を得ることなく調べる方法はありませんか?

おそらく Mutex 以外を使えということになると思っているのですが、
何を使ったらいいのかまで教えていただけると幸いです。
988デフォルトの名無しさん:2011/08/03(水) 03:08:13.53
if(m.WaitOne(0, false))
{
m.ReleaseMutex();
}

これじゃ駄目なのかよ
989987:2011/08/03(水) 03:24:20.43
かなりタイミングがシビアなのですが、
m.WaitOne(0, false) から m.ReleaseMutex() の間に別のプロセスの
WaitOne(0, false) が実行される可能性は考えなくてもよいのでしょうか?

たしかに、言われてみれば、そのような状況になるのは、かなり考えにくいとは思うのですが…
990デフォルトの名無しさん:2011/08/03(水) 03:29:18.97

m1.WaitOne();

if (m2.WaitOne(0, false))
{
m2.ReleaseMutex();
}

m1.ReleaseMutex();

そんなもの2段ロックすれば良いだけだと思うけど
991 忍法帖【Lv=4,xxxP】 :2011/08/03(水) 03:34:28.22
それはそうと、次スレは準備しなくてもいいのかね?
992987:2011/08/03(水) 03:41:00.06
>>990
なるほど、おっしゃるとおりです。

ありがとうございました!!
993デフォルトの名無しさん:2011/08/03(水) 03:42:16.91
じゃあ立てます
994デフォルトの名無しさん:2011/08/03(水) 03:44:52.35
ふらっとC#,C♯,C#(初心者用) Part78
http://hibari.2ch.net/test/read.cgi/tech/1312310658/

フォイフォーイ
995デフォルトの名無しさん:2011/08/03(水) 06:56:28.06
おつ
996デフォルトの名無しさん:2011/08/03(水) 10:10:33.18
うめ
997デフォルトの名無しさん:2011/08/03(水) 10:21:32.37
>>994

998デフォルトの名無しさん:2011/08/03(水) 19:56:34.36
998
999デフォルトの名無しさん:2011/08/03(水) 19:56:46.60
999
1000デフォルトの名無しさん:2011/08/03(水) 19:56:58.94
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。