[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 05/17 21:47 / Filesize : 162 KB / Number-of Response : 752
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 18:47:07 ]
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

前スレ

ふらっとC#,C♯,C#(初心者用) Part41
pc12.2ch.net/test/read.cgi/tech/1244259018/


684 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 10:15:07 ]
ラムダ式をありがたがる心理って簡潔至上主義だと思ってるが、どうなんだろ。
簡潔さ以外にメリットある?
そして簡潔さによる保守性低減のトレードオフって収支は本当にプラス?

685 名前:デフォルトの名無しさん [2009/07/20(月) 10:21:06 ]
>>684
2chスレのラムダ支持層レベルだとトレードオフにはならないね。
無駄に使いたがる印象しかない。

686 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 11:39:29 ]
>>684
遠く離れたところに1行関数を作って呼ぶよりも、ラムダにしたほうが簡潔で保守性は良くなるね。

それ以上に凝るのは趣味の世界だね〜。

687 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 11:40:53 ]
>>684
その場に処理書かないとかえって見づらい場合ない?

1・2行だけDispatcher.Invokeしたいときとか、
変換テーブル作りたいときとか。

要するに↓みたいな。

Dispatcher.BeginInvoke(() => { OutputText.Text = hoge; });

var table = new Dictionary<string, Func<int, int>> {
 { "TypeA", x => x * x },
 { "TypeB", x => Math.Abs(x) },
...

688 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 11:43:01 ]
LINQ の仕組みにはラムダ必須だし、

あと、ローカル変数をキャプチャしたい場合、
ラムダ(というか匿名デリゲート)がなかったら
わざわざinnerクラス1個書かなきゃいけなくなるしねぇ。


689 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 11:48:18 ]
>>686
デリゲート使えば遠くに関数作る必要はない。

690 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:07:54 ]
匿名メソッドで済むって話でそ。
まあ最初からラムダが使えれば匿名メソッドはあんまいらんけど。
濫用するような話とはまた別ね。


691 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:18:38 ]
あー、() => {} 構文じゃなくて delegate(){} 構文使うのじゃダメかって話か。

あれもでも、C# 開発者曰く
「ラムダを先に導入してたらdelegate構文なんて用意しなかった」
って言ってるしなぁ。


692 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:29:58 ]
{}で囲めばラムダでも複数のステートメントもreturnも書けるから実際匿名メソッドは要らない
匿名メソッドの唯一のメリットはパラメータを省略できることだけど、
それだけのために表記のゆらぎを許す価値があるかどうか



693 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:37:41 ]
そのうちMSがガイドラインで何か言い出すんじゃないかと思ってる

694 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:44:38 ]
λ式のトレードオフを語っている割に、デメリットが出ていない気がw

695 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:47:32 ]
delegateより視認しにくいくらいじゃねえの

696 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:56:09 ]
言語の方向性として、関数型を取り入れていくよと明言されてるわけで
わかりにくいとかいうのは無意味だな

697 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 13:12:06 ]
構文の親和性の低さによる視認性の悪さもあるけど
引数の型を省略できることの分かりづらさってのはどうなの。

698 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 13:12:59 ]
いずれにせよ、初心者用スレで延々と語る話じゃない。

699 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 13:31:53 ]
キャプチャ周りの罠は初心者も気をつけるべきだろ

700 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 14:07:20 ]
保守性下がるので業務では使えない。

701 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 14:29:34 ]
保守性下がるのでC#は使えない。

702 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 14:50:59 ]
ラムダ厨はテスト端折るので一緒に仕事したくない。



703 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:00:41 ]

462 名前:デフォルトの名無しさん[sage] 投稿日:2009/07/06(月) 20:59:27
LINQ書く奴ってなんでテスト端折る奴ばかりなんだ?

469 名前:デフォルトの名無しさん[sage] 投稿日:2009/07/06(月) 21:58:25
テストまで1/3にしないでください。

702 名前:デフォルトの名無しさん[sage] 投稿日:2009/07/20(月) 14:50:59
ラムダ厨はテスト端折るので一緒に仕事したくない。






余程な職場環境におかれておられる様で
無様で惨めだな

704 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:07:01 ]
職場とか業務でどうとか言われてもねえ…。
ここ初心者スレだし、「そうですか。おつかれさまです」としか言いようがないな。

それともあれか?報われないのを褒めて欲しいのか?
そういうのはマ板でやってくれよ。

705 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:08:26 ]
3.0仕事で導入してるのってどんぐらいなんだろうな
今はまだ2.0のほうが意思合わせ楽そうだけど

706 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:13:06 ]
>>704
どこの初心者スレも似たようなもんだけどな
javaスレとか

明らかに底辺ドカタのストレス発散場になってる
そんなことをしていてもお前の暮らしは向上しないのにな

707 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:19:57 ]
独立すりゃいいのに

708 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:22:04 ]
ラムダスレとか建てても、結局初心者スレを荒らしに来るから意味なし。

709 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:28:41 ]
弱い者達が夕暮れさらに弱い者をたたく構図ですね、わかります。

710 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:41:38 ]
c#はまだおわらんよ!でもVCのほうも同じぐらい力入れてくれるとありがたいです;;

711 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:43:42 ]
C#でWindowsコンポーネントを使わないUIってどうやったら作れますか?
情報が載ってる本かサイトを教えてもらえると嬉しいです。
例えば、Mac風デザインのような感じです。

712 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:49:45 ]
>>711
GUI ツールキットを使うことになるんだろうけど、あんまりないなぁ。
Qt は使えるんだっけ。



713 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:51:32 ]
WPFだろ
デザインは自由自在

714 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:02:31 ]
WPFってガワ部分は変えられないんですか?

715 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:05:14 ]
ガワ?

716 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:13:32 ]
最大化や閉じるボタンなどがある枠です。
その内側では何でもできそうな感じで、かなり素晴らしいのですが。

717 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:13:43 ]
ウィンドウの枠を非表示にしてそれっぽいのを自分で描く

718 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:16:47 ]
>>717
なるほど。WPFをMSサイトで勉強してきます。
参考になりました。ありがとう。

719 名前:デフォルトの名無しさん [2009/07/20(月) 17:10:08 ]
入門書でC#の基礎文法を一通り勉強しました。
しかし、今までスクリプター(Perl, JavaScript, Ruby)で、
GUIアプリケーションの制作経験は皆無であるため、
Visulal Studio でGUIアプリケーションを作る方法がよく理解できません。
何となくならいじれるのですが、体系的に勉強するにはどうするのがオススメでしょうか?

720 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 17:14:19 ]
>>719
畳の上の水泳より、下手でもとにかく水の中で泳ぐほうが学習効率高いんじゃない?
GUIは特にそうだと思うけど。
(必要なら)体系的学習は後追いでもできるし。

721 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 17:22:27 ]
>>720
入門書は全てcsc.exeを使ってコンソールで作業していたので、
まずは、チュートリアル的なサンプルアプリケーションを何個か作りたいんですよね。

広く浅くでいいので、VSおよびGUIアプリ制作を把握したいのですが、
MS公式の解説書は何だかMSDNチュートリアル同様で、入門の入門という感じだし、
他の入門書は、VSについてほとんど書かれていないしで困っています。

訳分からなくてもとりあえず慣れるがベストなのかなぁ? やはり。


722 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 17:31:14 ]
フォームに手当たり次第にコントロール貼りまくって適当に連動させてごらんよ
方向性は決めなくていいから



723 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 17:36:17 ]
どのコントロールでどんなことができるか、を一通り確認するくらいかなぁ。

具体的な実装は、システム要件に応じて考えるし。

724 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 18:04:40 ]
>>721
C#でcsc.exeを使わせる入門書って、なんて悪書?

725 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 18:11:30 ]
MSの公式解説書だろ
C#できると言ってcsc.exe使えないなんて話もあるまい

726 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 18:23:13 ]
>>724
独習C#です……。プログラミングC#は、最初からは敷居高いかなと思って。

727 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 20:06:49 ]
cscのオプションなんて覚えてもいないぜ。


728 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 21:31:56 ]
>>726
あーあ、かっちゃったかw

729 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 21:33:18 ]
あんなもん立ち読みでいいのに

730 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 23:47:04 ]
泳げないやつは沈めばいい

731 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 23:53:31 ]
プログラミングC#が敷居高いって絶対読んでなさそう
GUIオンリーだった俺はRonRやってるがスクリプトわけわかめw

732 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 01:34:19 ]
delegateとかもうちょっと綺麗に実装出来なかったのかね



733 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 02:06:53 ]
例えばどういう風に?

734 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 02:30:50 ]
例えばキーワードを省略してdelにするとか

735 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 02:47:47 ]
delだとdeleteの略みたいになるから却下

736 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 03:10:41 ]
もうちょっと綺麗に実装 → 省略してdelに

wwwwwwwwwwwwwww

737 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 03:38:19 ]
俺の知ってる英単語を使ってくれ
デレゲートなんて意味がわからんわ

738 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 03:54:37 ]
普通にクラスポインタみたいなのを残せばいいのに
なんでいちいち全部の関数のdelegateを定義して呼ばないといけないんだ

739 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 04:28:36 ]
>>735
じゃあdeleで

740 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 05:28:15 ]
tsun-dele

741 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 08:26:30 ]
tsun-delete

742 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 08:35:08 ]
>>738
FuncとかActionがあるけど



743 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 09:49:41 ]
>>734
キーワードの省略は最悪。
Unix 系のライブラリとか、ときどき見れたもんじゃないのがある。

C# は省略形のキーワード1つもないでしょ。

>>738
型安全性のため。

744 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 14:15:48 ]
タイプセーフはデリゲートの目的であって理由じゃない

そうなると別にどういう構文でもタイプセーフなら良いことになるでしょ
実際にそうなってるしね

745 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:28:29 ]
複数のファイルを連結する方法を教えてください。
下記のようなことって、C#だとどう書くんですか?
ひとつひとつFile.ReadしてFile.Writeしないとだめですか?
copy file01.txt+file02.txt+file03.txt+file04.txt newfile.txt


746 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:45:26 ]
C#で製品を作ってる会社はexeを暗号化してるんでしょうか?
ソースコード丸見え・・・

747 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:47:34 ]
>>745
File.ReadAllText()で読んでFile.AppendAllText()で追加してけば楽なんじゃない
使ったことないけどw

748 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:48:12 ]
今時はライセンスで縛るから丸見えでもどうでもいいのです
難読化くらいはしてるかもね

でも初心者には関係ないよ
お前のコードなんてわざわざ見る気にもならないからね

749 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:53:53 ]
>>747
やっぱりそれしかないんだ…。
配列に配列を追加するにはどうしたらよいですか?
copy file01.txt+file02.txt+file03.txt+file04.txt newfile.txt
string[] keywords = File.ReadAllLines("file01.txt");
keywords = keywords + File.ReadAllLines("file02.txt");
keywords = keywords + File.ReadAllLines("file03.txt");
keywords = keywords + File.ReadAllLines("file04.txt");
とかで追加できるんですか?


750 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:55:06 ]
どの言語でも初心者が一番初めに気にする所だよな。
「ゲームは作れますか?」と「中身の暗号化できますか?」は。

少なくともそんなことを聞かなきゃ分からない内は全く関係のない話だ。

751 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:56:33 ]
>>749
配列ってさあ

string[] strArray = new string[]{ "aaaaa" , "bbbbb" , "ccccc" }

こう書けるのは分かる?






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<162KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef