ふらっと C#,C♯,C#(初心者用) Part117 [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2015/10/02(金) 20:50:08.06ID:IGV3Viy6他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part116 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1436344868/
■関連スレ
C#, C♯, C#相談室 Part89 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1443271409/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
0655デフォルトの名無しさん
2015/11/08(日) 16:40:41.80ID:qWpIgAszいや英語では結構本出てるよ。
MVVMがウンコなのは同意するけどw
0656デフォルトの名無しさん
2015/11/08(日) 16:57:42.27ID:qE8APb0L僕の考えた最強の〜って感じ
引き算を覚えてくれ頼むから
WPFを除けば成功しているMVVMフレームワークはいくらでもあるし
設計センスの問題だと思う
0657デフォルトの名無しさん
2015/11/08(日) 17:02:03.13ID:t8ezhEA7標準フレームワークも用意されないWPFが流行るわけもない
マイクロソフトも普及させる気はないよ
ポーズだけ
Silverlight潰したりマイクロソフトは既に独自技術の普及を断念してる
代わってTypescript用意したりweb標準技術の採用に舵を切ってる
0658デフォルトの名無しさん
2015/11/08(日) 21:46:02.90ID:SGCCwhdkフォームは現時点でほぼ完成しているから何も変える必要ないんじゃないの?足りない機能ある?
0659デフォルトの名無しさん
2015/11/08(日) 22:53:03.65ID:X/vorztSFormsなら簡単に出来た事がものすごく手間だったり、
独自のUIが簡単にというが実際はとてつもなく面倒くさい。
datagridの配色変えるだけでも、
あの部分をどこで色を変えられるのか調べるだけで相当時間がかかる
0660デフォルトの名無しさん
2015/11/08(日) 22:54:49.77ID:b5oYWyCuフォームに関しては、今更機能追加されたところであれだし、現状維持してくれれば十分だな。
0661デフォルトの名無しさん
2015/11/08(日) 22:55:41.36ID:HlEs+VqN今はサードパーティー頼みだし。
MFCも、もうメンテナンスモードだろうと思ってた頃にFeaturePack出てきたんだから
ワンチャンあると信じたい。
0662デフォルトの名無しさん
2015/11/08(日) 22:58:52.76ID:l/gAevhWあの糞がそのまま放置されてるんだから、MSのやる気の無さがよくわかる
まあそもそもWPFは設計思想的にDataGrid的なものはListViewをカスタマイズして作るもんであって、
出来合いのDataGridをそのまま使うようないい加減なGUIでいいのならWPF使う必要は全く無いんだけどね
0663デフォルトの名無しさん
2015/11/08(日) 23:04:24.23ID:b5oYWyCuWPFほどまでは行かないにしろ、そこそこの分離は、可能だと思う。
いざとなれば、ビューを直接扱えるし、WPFみたいに変に手回ししなくていいしフォームのほうが楽。
0664デフォルトの名無しさん
2015/11/08(日) 23:26:11.25ID:X/vorztSいきなりC#とXaml両方まなぶのはきついんじゃない?
GUIを今後一切変更しないならFormsでいいだろうけど、
変更したくなった時、クソ面倒くさい
0665デフォルトの名無しさん
2015/11/09(月) 00:30:33.40ID:nH7Pt/o2WPFは覚えることだらけだな。
しかもMSDNのどこにも明示されてない仕様も結構あってかなり萎える。
0666デフォルトの名無しさん
2015/11/09(月) 00:42:01.77ID:YzX/XRY3>DataGrid的なものはListViewをカスタマイズして作るもんであって、
このカスタマイズする前に大量のオブジェクトの前に力尽きる人が多かったから
WPFは流行らなかったんだろうな
オブジェクト指向の継承って結構早い段階から使うのやめとけ
って言われてたと思うけどwpfって継承地獄なんだよなあ
0667デフォルトの名無しさん
2015/11/09(月) 01:51:51.42ID:q+BDOfSy一般論としてそんなこと言われてたっけ?
0668デフォルトの名無しさん
2015/11/09(月) 03:56:53.75ID:m77m/g5Hリファクタしたら、XAMLだけ手作業修正になったから
今は、ちゃんと連動してるんだろうか?
していたところで、あんだけ複雑で、しかも機能的にフォームから浮いていると移行する気にはなれないけど
0669デフォルトの名無しさん
2015/11/09(月) 04:06:23.65ID:m77m/g5H同感、WPFからATL臭がする
これからはWPFだといっている人は何見て、WPFが流行っていると思っているのだろうか?
0670デフォルトの名無しさん
2015/11/09(月) 08:53:11.53ID:AkXykSSl0671デフォルトの名無しさん
2015/11/09(月) 09:23:03.24ID:eW5XCVAC一芸に秀でていれば使えないこともない人間とは違うんだよ
フレームワークは全体のバランスが求められる
0672デフォルトの名無しさん
2015/11/09(月) 12:09:04.18ID:6wZmioGw適してれば(=開発工数を抑えられるならば)、どんなんだって使うことはあるし。
ここで声高に否定することに意味があるとは思えん。むしろなにか作為でもある?
0673デフォルトの名無しさん
2015/11/09(月) 12:24:46.82ID:7FJWPJQr工数削れるよ
0674デフォルトの名無しさん
2015/11/09(月) 12:30:10.88ID:eW5XCVAC頭悪いんじゃねえのか?
0675デフォルトの名無しさん
2015/11/09(月) 12:35:57.06ID:EOVCHtBm発狂するまでXAML書き続けて死ね
0676デフォルトの名無しさん
2015/11/09(月) 13:09:55.63ID:6wZmioGw0677デフォルトの名無しさん
2015/11/09(月) 13:22:50.09ID:eW5XCVACクソでも漏らしそうなのか?
漏らすなよ、ただでさえ臭いんだからな
0678デフォルトの名無しさん
2015/11/09(月) 13:31:13.13ID:6wZmioGw0679デフォルトの名無しさん
2015/11/09(月) 16:23:18.75ID:m77m/g5H作為とか特にないけど、俺の知っている業界の範囲でWPFを使っている所なんてないし
一時使っていたところも全部切り上げてFormsに戻ったからな
誰が使っているんだ?って思って書いてみた
0680デフォルトの名無しさん
2015/11/09(月) 16:25:52.00ID:m77m/g5Hシステムが大規模になってから、さあ元に戻ろうとかいう話になると地獄みるでw
0681デフォルトの名無しさん
2015/11/09(月) 18:25:32.73ID:s3Itz59O0682デフォルトの名無しさん
2015/11/09(月) 19:32:07.70ID:YzX/XRY3誰も助けられないエリアに人が立ち入ろうとしたら全力で止める
それは時間の無駄と戦い続けてきたICT分野の精神そのもの
0683デフォルトの名無しさん
2015/11/09(月) 20:45:05.97ID:XHl8ePvc0684デフォルトの名無しさん
2015/11/09(月) 20:47:24.37ID:Z/Tj9+xS0685デフォルトの名無しさん
2015/11/09(月) 20:48:06.82ID:aHPhV6ijヘルスバーグ監修だしな
あれはC#と違ってGoogleのAngular2に採用されて正真正銘の世界標準になった
0686デフォルトの名無しさん
2015/11/09(月) 20:49:00.07ID:Kluqtjpy0687デフォルトの名無しさん
2015/11/09(月) 20:57:32.51ID:Kluqtjpy空前絶後究極醜悪仕様のjavascriptのせいもあるが、
コードを書いてて幸せを感じられる。
0688デフォルトの名無しさん
2015/11/09(月) 21:17:06.11ID:HVtjB7Nt0689デフォルトの名無しさん
2015/11/09(月) 23:52:05.55ID:xUV9On1gすべてのイベントがコマンドでできたらなー
トリガー?イベントを言い換えただけじゃないか
ビヘイビア?そこまでして必死に分離する必要あるのか?
それに物理的に分離してても、特定のViewに意味的に依存したコードに変わりないよね
だったらイベントでいいじゃない
とにかくMVVMの強迫観念が付きまとう
オシャレなGUIもいらない
もっさり
情報がない
調べる時間が勿体無い
Xamlとコードを行ったり来たりが面倒くさい
フォームはイベントハンドラだらけ、データバインド面倒ってだけかな
0690デフォルトの名無しさん
2015/11/10(火) 00:37:56.86ID:TRBM8DsG流行ってない上に目玉が需要のないWindowsストアだからお先真っ暗
MFCと同レベルの状況だよ
そのなのやる暇あったらTypescriptとNode.jsをやれ
Visual Studio CodeはElectronで作られてるしNode.jsデバッガ標準装備だしMSも舵をきった
Web標準技術路線の流れは止まらんよ
0691デフォルトの名無しさん
2015/11/10(火) 01:49:09.88ID:Ovp34esS0692デフォルトの名無しさん
2015/11/10(火) 01:54:38.52ID:5g3VdvzW0693デフォルトの名無しさん
2015/11/10(火) 02:33:43.83ID:fx55niMq0694デフォルトの名無しさん
2015/11/10(火) 04:07:57.25ID:Vbdvj8E0おっさん全然離れないし
WPFの絶望感はなんともかんとも
古い人は移行しないし、新しい人は来ないし、ストアとか誰が使うんだよって感じだし
やりたきゃ、素直に別途スマートフォンに特化したOS作りゃいいのにね
0695デフォルトの名無しさん
2015/11/10(火) 05:05:14.87ID:x1SFUzCzスクレイピング、zip再圧縮、画像加工、ファイル移動、ファイルリネームなど
これからそれぞれ自分用に作っていこうと思ってる
0696デフォルトの名無しさん
2015/11/10(火) 05:24:29.79ID:Vbdvj8E00697デフォルトの名無しさん
2015/11/10(火) 07:03:54.72ID:ysgs5SCxzipはそのまんまzipコマンド
画像加工はimagemagick
全体の制御やファイル操作はperl
0698デフォルトの名無しさん
2015/11/10(火) 11:39:52.84ID:mVStRMDa0699デフォルトの名無しさん
2015/11/10(火) 13:27:08.88ID:Y54LX3ro0700デフォルトの名無しさん
2015/11/10(火) 15:30:35.44ID:zPPOQadDhttps://msdn.microsoft.com/en-us/library/windows.devices.bluetooth.genericattributeprofile.gattdeviceservice.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1
0701デフォルトの名無しさん
2015/11/10(火) 18:12:09.50ID:jCBnlrqE0702デフォルトの名無しさん
2015/11/10(火) 21:42:14.52ID:96BnYR0WIEnumerable<T>を実装したクラス(もしくはオブジェクト)のことは何と呼べばいいのでしょうか?
列挙子?それともコレクション?
どちらも微妙に違う気がするので、質問させていただきました。
0703デフォルトの名無しさん
2015/11/10(火) 21:46:42.28ID:ysgs5SCx順番を意識する場合は明示的に「要素のシーケンス」と呼んだりすることもある
0704デフォルトの名無しさん
2015/11/10(火) 22:03:45.37ID:IudFs22n使いこなせてないだけ。というか何か誤解してる。
使いまわししない場面でビヘイビアやトリガーを無理して使う必要ない。
0705デフォルトの名無しさん
2015/11/10(火) 22:05:22.32ID:96BnYR0Wコレクションにします。
0706デフォルトの名無しさん
2015/11/10(火) 22:13:49.61ID:mVStRMDa影響されやすいにもほどがある
0707デフォルトの名無しさん
2015/11/11(水) 00:11:06.49ID:Roxx949ghttp://japan.zdnet.com/article/35073153/
また、Infinumは開発時の経験から、
Androidアプリのレイアウトで用いられるXMLの使われ方が、iOSで用られるWYSIWIGによるアプローチ
ほど効率的でない点を指摘している。
まさにこれ、xamlの不利な点もこれに同じ
対してiOSはformsの発展系みたいなシステムだから即効作れる
0708デフォルトの名無しさん
2015/11/11(水) 00:21:31.22ID:/+peIgnx>>703
要素のシーケンス?
IEnumerable<T>は列挙される要素の順序なんて保障しないし
列挙される要素を返すオブジェクトの事だろ
要素でもないしシーケンスでもないじゃないか
0709デフォルトの名無しさん
2015/11/11(水) 00:33:42.89ID:1POahPwI0710デフォルトの名無しさん
2015/11/11(水) 00:35:00.27ID:hQ+Ng6ni混乱の元
0711デフォルトの名無しさん
2015/11/11(水) 00:36:20.71ID:hQ+Ng6niと、話が通じない流れはこうして始まる
0712デフォルトの名無しさん
2015/11/11(水) 00:39:46.19ID:1POahPwI0713デフォルトの名無しさん
2015/11/11(水) 00:45:36.61ID:/+peIgnxMSの用語で、列挙で返されるものをシーケンスと呼んでいるところはあるけど
IEnumerable<T>実装クラスのことをシーケンスと呼んでるところなんて無いだろ
0714デフォルトの名無しさん
2015/11/11(水) 00:47:40.91ID:hQ+Ng6ni0715デフォルトの名無しさん
2015/11/11(水) 00:59:29.52ID:2vpVS7Y/0716デフォルトの名無しさん
2015/11/11(水) 00:59:45.55ID:jhfL3S8B0717デフォルトの名無しさん
2015/11/11(水) 01:04:34.29ID:qdWTE3pv使いたいけど、itemXが何を指すのか明示し辛くて毎回クラス作る羽目になる
0718デフォルトの名無しさん
2015/11/11(水) 01:13:37.70ID:MPuvgpwOC# 7.0でそこらへん改善しようという動きはあるが、現状だと無理だな。
0719デフォルトの名無しさん
2015/11/11(水) 02:15:32.79ID:J1zmvVNV言いたいことは分からんでもないが列挙で返されるものは要素であってシーケンスじゃないよw
ニュアンス的には、イテレーターやクエリ式みたいにIEnumerable<T>を実装したクラスであるかのようにふるまう
何者かのことをシーケンスと呼んでるようにも感じるけど、機能的に等価なんだから同じでしょ。
0720デフォルトの名無しさん
2015/11/11(水) 02:24:54.15ID:/+peIgnxIEnumerable<T>で返される集合がシーケンス、その構成物が要素
IEnumerable<T>そのものは要素でもシーケンスでもない
まあ仮に、IEnumerable<T>そのものがシーケンスと呼ばれるとしても
IEnumerable<T>実装クラスはシーケンスじゃないし
0721デフォルトの名無しさん
2015/11/11(水) 02:27:02.08ID:dpUw/w5GだってIEnumerableとして使うわけだし
もと質問者の求める答えとはちょっと違うか・・・
0722デフォルトの名無しさん
2015/11/11(水) 04:08:25.76ID:MPuvgpwO「○○のコレクションを返します。」だと、List<T>とか配列のようなものが返されるイメージだし、「○○のシーケンスを…」だと違和感が残る。
0723デフォルトの名無しさん
2015/11/11(水) 05:06:28.14ID:FnAxvR+KEnumerableでも使えるのはGetEnumeratorでEnumerator取ってるからですか?
0724デフォルトの名無しさん
2015/11/11(水) 10:46:36.52ID:MPuvgpwO0725デフォルトの名無しさん
2015/11/11(水) 17:51:33.59ID:jH4gdhBC例えば、下の文字列の
「ABCD<a>123</a>EFG」
の中から、<a>と</a>に囲まれた部分だけを取るという事がしたいのです。
0726デフォルトの名無しさん
2015/11/11(水) 17:55:09.09ID:DUfHt6hF0727デフォルトの名無しさん
2015/11/11(水) 17:55:24.62ID:h0434h880728デフォルトの名無しさん
2015/11/11(水) 18:08:23.13ID:Usz+Er1r0729デフォルトの名無しさん
2015/11/11(水) 18:20:02.61ID:+wF1gX1q立て続けに素晴らしい連体感だなww
0730デフォルトの名無しさん
2015/11/11(水) 18:20:11.07ID:jH4gdhBC最終的にしたいのは、大きめのファイルをFile.ReadLinesを使って読み込み、その中から特定の文字列を取りたいのです。
File.ReadLinesでLINQを使って(正規表現併用でもして)抽出できないのかと、思案してる所です。
0731デフォルトの名無しさん
2015/11/11(水) 18:23:29.23ID:87RveuhTまずそこから間違ってる
0732デフォルトの名無しさん
2015/11/11(水) 18:40:07.71ID:YDOXgbvnみたいなのはどうする?
0733デフォルトの名無しさん
2015/11/11(水) 18:53:04.03ID:jH4gdhBC巨大なファイル内にある特定の文字を取りたくて、File.ReadLinesを使おうと思ったのです。
ちなみに、これを使う事になったのは↓のサイトの処理速度を見てこれは使えそうと思いました。
ttp://devlights.hatenablog.com/entry/20101116/p2
>>732
<a>〜</a>の組み合わせは今のところ一つだけを想定しています。
0734デフォルトの名無しさん
2015/11/11(水) 19:05:23.62ID:MPuvgpwOvar urls = File.ReadLines( @"hoge.txt" )
.Where( x => !string.IsNullOrWhiteSpace( x ) )
.Select( x => Regex.Match( x , "<a href=\"(?<url>.*?)\".*?>(?<text>.*?)</a>" , RegexOptions.IgnoreCase ).Groups["url"]?.Value )
.Where( x => !string.IsNullOrWhiteSpace( x ) );
みたいにすれば取り出せるだろうけど
0735デフォルトの名無しさん
2015/11/11(水) 19:21:42.43ID:jH4gdhBCソース有難うございます。
まだ、不明な点がありますが調べてみます。
0736デフォルトの名無しさん
2015/11/11(水) 19:35:10.88ID:hQ+Ng6ni0737デフォルトの名無しさん
2015/11/11(水) 19:36:07.54ID:ZERl/AOHReadLinesは遅延評価だからReadAllLinesとは違って巨大なファイルでも効率いいよ
0738デフォルトの名無しさん
2015/11/11(水) 19:40:57.26ID:MPuvgpwOすまん、ああ、それと勘違いしてた…
0739デフォルトの名無しさん
2015/11/11(水) 19:41:01.76ID:YDOXgbvn0740デフォルトの名無しさん
2015/11/11(水) 19:46:45.62ID:MPuvgpwO0741デフォルトの名無しさん
2015/11/11(水) 20:06:32.47ID:je1SKr0C実機に触ったことがないのでよくわからんのですが、
Windows8やWindows10あたりが入ってるタブレット端末なら作ったWindowsFormのアプリも
使えますでしょうか?(画面サイズを考慮して作るのは当然として)
それともストアアプリとしてじゃないと入れられなかったりするんでしょうか
0742デフォルトの名無しさん
2015/11/11(水) 20:15:23.36ID:MPuvgpwO特に問題なく動作可能。
ただ高dpi環境とかで動かすと残念なことになるかも知れないけど
0743デフォルトの名無しさん
2015/11/11(水) 22:32:02.21ID:WW0Z/7Lvスレタイにはちゃんと
(初心者用)
と書かれているよな
0744デフォルトの名無しさん
2015/11/11(水) 23:20:47.01ID:hQ+Ng6niLINQで文字列処理とか、Formでモバイル系とか
0745デフォルトの名無しさん
2015/11/11(水) 23:55:46.17ID:2kBONmlk0746デフォルトの名無しさん
2015/11/12(木) 00:25:57.38ID:b15uPX390747デフォルトの名無しさん
2015/11/12(木) 02:25:12.08ID:NUMUMJ+Dたとえばnew{Name, Kokugo, Sansu, Rika, Shakai}みたいなクラスを作れる成績表ファイルだったらFile.ReadLinesでLINQが有効
>>734のやりかたなら普通にforeachしたほうがわかりやすいと思う
var list = new List<string>();
foreach(var line in File.ReadLines( @"hoge.txt" )){
if(!string.IsNullOrWhiteSpace(line)){
var str = Regex.Match(line , "<a href=\"(?<url>.*?)\".*?>(?<text>.*?)</a>" , RegexOptions.IgnoreCase ).Groups["url"]?.Value;
if(!string.IsNullOrWhiteSpace(str)) list.Add(str);
}
}
0748デフォルトの名無しさん
2015/11/12(木) 07:56:05.65ID:Los5n9AY余計な世話を働くな
0749デフォルトの名無しさん
2015/11/12(木) 07:58:25.66ID:FwVQMCtV0750デフォルトの名無しさん
2015/11/12(木) 08:03:54.52ID:dubRMvMUこのケースは実質的には
行の集合→フィルタ→変換→フィルタ→結果の集合
という要素ごとに独立な集合操作なのでLINQを使うのはおかしくはない
0751デフォルトの名無しさん
2015/11/12(木) 09:27:42.54ID:b15uPX390752デフォルトの名無しさん
2015/11/12(木) 17:10:09.52ID:2y0wDvFaforeach使ったら遅延の意味ないし
さらに新たにlist作ってるのが古臭い
0753デフォルトの名無しさん
2015/11/12(木) 18:06:53.36ID:sljIQlRZ?
0754デフォルトの名無しさん
2015/11/12(木) 19:38:54.77ID:Ky5LrglXちなみに同一アセンブリ内からしか呼び出ししてないのになぜかASP.NETでWeb参照作ってSQL Serverと接続させてる元開発者の意図が読み取れないんだけど・・・
■ このスレッドは過去ログ倉庫に格納されています