トップページ⇒tech
1002コメント341KB

ふらっと C#,C♯,C#(初心者用) Part117 [転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2015/10/02(金) 20:50:08.06ID:IGV3Viy6
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述の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
>>654
いや英語では結構本出てるよ。
MVVMがウンコなのは同意するけどw
0656デフォルトの名無しさん2015/11/08(日) 16:57:42.27ID:qE8APb0L
設計がとにかく野暮ったい
僕の考えた最強の〜って感じ
引き算を覚えてくれ頼むから

WPFを除けば成功しているMVVMフレームワークはいくらでもあるし
設計センスの問題だと思う
0657デフォルトの名無しさん2015/11/08(日) 17:02:03.13ID:t8ezhEA7
mvcとかやりたければ本流のhtml5使えばいい
標準フレームワークも用意されないWPFが流行るわけもない
マイクロソフトも普及させる気はないよ
ポーズだけ
Silverlight潰したりマイクロソフトは既に独自技術の普及を断念してる
代わってTypescript用意したりweb標準技術の採用に舵を切ってる
0658デフォルトの名無しさん2015/11/08(日) 21:46:02.90ID:SGCCwhdk
>>650
フォームは現時点でほぼ完成しているから何も変える必要ないんじゃないの?足りない機能ある?
0659デフォルトの名無しさん2015/11/08(日) 22:53:03.65ID:X/vorztS
prism使って、データバインドが非常に協力でコードもすっきり書けるけど、
Formsなら簡単に出来た事がものすごく手間だったり、
独自のUIが簡単にというが実際はとてつもなく面倒くさい。
datagridの配色変えるだけでも、
あの部分をどこで色を変えられるのか調べるだけで相当時間がかかる
0660デフォルトの名無しさん2015/11/08(日) 22:54:49.77ID:b5oYWyCu
>>658
フォームに関しては、今更機能追加されたところであれだし、現状維持してくれれば十分だな。
0661デフォルトの名無しさん2015/11/08(日) 22:55:41.36ID:HlEs+VqN
俺はMFC FeaturePack並のツールバーやドッキングウィンドウが標準で欲しいなぁ。
今はサードパーティー頼みだし。
MFCも、もうメンテナンスモードだろうと思ってた頃にFeaturePack出てきたんだから
ワンチャンあると信じたい。
0662デフォルトの名無しさん2015/11/08(日) 22:58:52.76ID:l/gAevhW
WPFのDataGridは全く使い物にならない
あの糞がそのまま放置されてるんだから、MSのやる気の無さがよくわかる
まあそもそもWPFは設計思想的にDataGrid的なものはListViewをカスタマイズして作るもんであって、
出来合いのDataGridをそのまま使うようないい加減なGUIでいいのならWPF使う必要は全く無いんだけどね
0663デフォルトの名無しさん2015/11/08(日) 23:04:24.23ID:b5oYWyCu
WPFならMVVMでドメインとビューの分離が〜とか言うが、フォームでもある程度は、データバインドできるし、
WPFほどまでは行かないにしろ、そこそこの分離は、可能だと思う。

いざとなれば、ビューを直接扱えるし、WPFみたいに変に手回ししなくていいしフォームのほうが楽。
0664デフォルトの名無しさん2015/11/08(日) 23:26:11.25ID:X/vorztS
WPFはC#を習得した人用だからなあ、
いきなりC#とXaml両方まなぶのはきついんじゃない?

GUIを今後一切変更しないならFormsでいいだろうけど、
変更したくなった時、クソ面倒くさい
0665デフォルトの名無しさん2015/11/09(月) 00:30:33.40ID:nH7Pt/o2
言語としてのC#にそんなに覚えることがあるとは思えんが、
WPFは覚えることだらけだな。

しかもMSDNのどこにも明示されてない仕様も結構あってかなり萎える。
0666デフォルトの名無しさん2015/11/09(月) 00:42:01.77ID:YzX/XRY3
>>662
>DataGrid的なものはListViewをカスタマイズして作るもんであって、
このカスタマイズする前に大量のオブジェクトの前に力尽きる人が多かったから
WPFは流行らなかったんだろうな

オブジェクト指向の継承って結構早い段階から使うのやめとけ
って言われてたと思うけどwpfって継承地獄なんだよなあ
0667デフォルトの名無しさん2015/11/09(月) 01:51:51.42ID:q+BDOfSy
継承(is a)より包含(has a)とか、無駄に複雑な継承関係にしないとかなら分かるけど、
一般論としてそんなこと言われてたっけ?
0668デフォルトの名無しさん2015/11/09(月) 03:56:53.75ID:m77m/g5H
WPFが出た当時、そちらに移行しなかった最大の理由は
リファクタしたら、XAMLだけ手作業修正になったから
今は、ちゃんと連動してるんだろうか?
していたところで、あんだけ複雑で、しかも機能的にフォームから浮いていると移行する気にはなれないけど
0669デフォルトの名無しさん2015/11/09(月) 04:06:23.65ID:m77m/g5H
>>654
同感、WPFからATL臭がする
これからはWPFだといっている人は何見て、WPFが流行っていると思っているのだろうか?
0670デフォルトの名無しさん2015/11/09(月) 08:53:11.53ID:AkXykSSl
wpfのControlTemplateは、FormsのOwnerDrawに比べたら格段に楽だと思うけどな
0671デフォルトの名無しさん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
自動生成はWPFのが簡単でいいよね
工数削れるよ
0674デフォルトの名無しさん2015/11/09(月) 12:30:10.88ID:eW5XCVAC
否定派の前で肯定するから否定されてんだろ
頭悪いんじゃねえのか?
0675デフォルトの名無しさん2015/11/09(月) 12:35:57.06ID:EOVCHtBm
639が聞かれてもいないお節介を焼いたのがそもそもの原因だ
発狂するまでXAML書き続けて死ね
0676デフォルトの名無しさん2015/11/09(月) 13:09:55.63ID:6wZmioGw
声高に否定しhとかないと不安なのかと。w
0677デフォルトの名無しさん2015/11/09(月) 13:22:50.09ID:eW5XCVAC
書き込みの推敲もできないほどではないんじゃねえの〜
クソでも漏らしそうなのか?
漏らすなよ、ただでさえ臭いんだからな
0678デフォルトの名無しさん2015/11/09(月) 13:31:13.13ID:6wZmioGw
え。まさかの図星だったんだ。w
0679デフォルトの名無しさん2015/11/09(月) 16:23:18.75ID:m77m/g5H
>>672
作為とか特にないけど、俺の知っている業界の範囲でWPFを使っている所なんてないし
一時使っていたところも全部切り上げてFormsに戻ったからな
誰が使っているんだ?って思って書いてみた
0680デフォルトの名無しさん2015/11/09(月) 16:25:52.00ID:m77m/g5H
あと、自分の経験から、フレームワークが死ぬかどうかの嗅覚センサーは高精度にしておいた方がいい
システムが大規模になってから、さあ元に戻ろうとかいう話になると地獄みるでw
0681デフォルトの名無しさん2015/11/09(月) 18:25:32.73ID:s3Itz59O
WPFは、やたらと抽象化しすぎで、解りづらいんだよなぁ
0682デフォルトの名無しさん2015/11/09(月) 19:32:07.70ID:YzX/XRY3
声高に否定しとかないと、ふらっと誰かが立ち入るかもしれないだろ?
誰も助けられないエリアに人が立ち入ろうとしたら全力で止める
それは時間の無駄と戦い続けてきたICT分野の精神そのもの
0683デフォルトの名無しさん2015/11/09(月) 20:45:05.97ID:XHl8ePvc
出来損ない人間のくせにそういう意識だけ持ってられると非常に迷惑
0684デフォルトの名無しさん2015/11/09(月) 20:47:24.37ID:Z/Tj9+xS
クズ同士で反目しあっていたらいつまでたっても地獄から抜けだせないよ?
0685デフォルトの名無しさん2015/11/09(月) 20:48:06.82ID:aHPhV6ij
C#erならあらゆる分野でTypescriptを使っていくべきだろ
ヘルスバーグ監修だしな
あれはC#と違ってGoogleのAngular2に採用されて正真正銘の世界標準になった
0686デフォルトの名無しさん2015/11/09(月) 20:49:00.07ID:Kluqtjpy
上を見るより隣の奴の足を引っ張って蹴り落とす方が楽しいから。
0687デフォルトの名無しさん2015/11/09(月) 20:57:32.51ID:Kluqtjpy
ああ、typescriptはいいね。
空前絶後究極醜悪仕様のjavascriptのせいもあるが、
コードを書いてて幸せを感じられる。
0688デフォルトの名無しさん2015/11/09(月) 21:17:06.11ID:HVtjB7Nt
スピルバーグ?(難聴)
0689デフォルトの名無しさん2015/11/09(月) 23:52:05.55ID:xUV9On1g
コマンドやプロパティ周りに同じような記述をしないといけないのが面倒
すべてのイベントがコマンドでできたらなー
トリガー?イベントを言い換えただけじゃないか
ビヘイビア?そこまでして必死に分離する必要あるのか?
それに物理的に分離してても、特定のViewに意味的に依存したコードに変わりないよね
だったらイベントでいいじゃない
とにかくMVVMの強迫観念が付きまとう
オシャレなGUIもいらない
もっさり
情報がない
調べる時間が勿体無い
Xamlとコードを行ったり来たりが面倒くさい

フォームはイベントハンドラだらけ、データバインド面倒ってだけかな
0690デフォルトの名無しさん2015/11/10(火) 00:37:56.86ID:TRBM8DsG
Xamlはそろそろ終わりだろう
流行ってない上に目玉が需要のないWindowsストアだからお先真っ暗
MFCと同レベルの状況だよ
そのなのやる暇あったらTypescriptとNode.jsをやれ
Visual Studio CodeはElectronで作られてるしNode.jsデバッガ標準装備だしMSも舵をきった
Web標準技術路線の流れは止まらんよ
0691デフォルトの名無しさん2015/11/10(火) 01:49:09.88ID:Ovp34esS
じゃあ、次期VisualStudioはwebアプリかな。
0692デフォルトの名無しさん2015/11/10(火) 01:54:38.52ID:5g3VdvzW
VS Codeあるしな
0693デフォルトの名無しさん2015/11/10(火) 02:33:43.83ID:fx55niMq
フォームで不満があるすれば、ちょっと凝ったデザインにしようとした途端、恐ろしく面倒なことぐらいだな。
0694デフォルトの名無しさん2015/11/10(火) 04:07:57.25ID:Vbdvj8E0
MFCはまだまだ普通に需要あるでしょう
おっさん全然離れないし
WPFの絶望感はなんともかんとも
古い人は移行しないし、新しい人は来ないし、ストアとか誰が使うんだよって感じだし
やりたきゃ、素直に別途スマートフォンに特化したOS作りゃいいのにね
0695デフォルトの名無しさん2015/11/10(火) 05:05:14.87ID:x1SFUzCz
Windows用のちょっとしたツールを作る場合みんな何で作ってるの?
スクレイピング、zip再圧縮、画像加工、ファイル移動、ファイルリネームなど
これからそれぞれ自分用に作っていこうと思ってる
0696デフォルトの名無しさん2015/11/10(火) 05:24:29.79ID:Vbdvj8E0
batファイルかなw
0697デフォルトの名無しさん2015/11/10(火) 07:03:54.72ID:ysgs5SCx
スクレイピングはruby
zipはそのまんまzipコマンド
画像加工はimagemagick
全体の制御やファイル操作はperl
0698デフォルトの名無しさん2015/11/10(火) 11:39:52.84ID:mVStRMDa
全部python
0699デフォルトの名無しさん2015/11/10(火) 13:27:08.88ID:Y54LX3ro
powershell
0700デフォルトの名無しさん2015/11/10(火) 15:30:35.44ID:zPPOQadD
Windows7とVS2012だと、Bluetooth LEのGATTプロファイルとかって使えないの?

https://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:jCBnlrqE
MSから出してるのではGATTは使えないと思った
0702デフォルトの名無しさん2015/11/10(火) 21:42:14.52ID:96BnYR0W
非常に細かいことなのですが、
IEnumerable<T>を実装したクラス(もしくはオブジェクト)のことは何と呼べばいいのでしょうか?
列挙子?それともコレクション?
どちらも微妙に違う気がするので、質問させていただきました。
0703デフォルトの名無しさん2015/11/10(火) 21:46:42.28ID:ysgs5SCx
一般的にはコレクションでいい
順番を意識する場合は明示的に「要素のシーケンス」と呼んだりすることもある
0704デフォルトの名無しさん2015/11/10(火) 22:03:45.37ID:IudFs22n
>>689
使いこなせてないだけ。というか何か誤解してる。
使いまわししない場面でビヘイビアやトリガーを無理して使う必要ない。
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:Roxx949g
iOSアプリの開発はAndroidアプリより30%安価--あるソフト開発会社が示したデータ
http://japan.zdnet.com/article/35073153/

また、Infinumは開発時の経験から、
Androidアプリのレイアウトで用いられるXMLの使われ方が、iOSで用られるWYSIWIGによるアプローチ
ほど効率的でない点を指摘している。


まさにこれ、xamlの不利な点もこれに同じ
対してiOSはformsの発展系みたいなシステムだから即効作れる
0708デフォルトの名無しさん2015/11/11(水) 00:21:31.22ID:/+peIgnx
>>703
>>703
要素のシーケンス?
IEnumerable<T>は列挙される要素の順序なんて保障しないし
列挙される要素を返すオブジェクトの事だろ

要素でもないしシーケンスでもないじゃないか
0709デフォルトの名無しさん2015/11/11(水) 00:33:42.89ID:1POahPwI
蛇遣いなのでイテラブル/イテレータ
0710デフォルトの名無しさん2015/11/11(水) 00:35:00.27ID:hQ+Ng6ni
マイクロソフトがシーケンスって呼んでるんだから、シーケンスって呼べよ
混乱の元
0711デフォルトの名無しさん2015/11/11(水) 00:36:20.71ID:hQ+Ng6ni
俺何でも知ってる、賢いだろうw
と、話が通じない流れはこうして始まる
0712デフォルトの名無しさん2015/11/11(水) 00:39:46.19ID:1POahPwI
下品な単芝だなぁ
0713デフォルトの名無しさん2015/11/11(水) 00:45:36.61ID:/+peIgnx
>>710
MSの用語で、列挙で返されるものをシーケンスと呼んでいるところはあるけど
IEnumerable<T>実装クラスのことをシーケンスと呼んでるところなんて無いだろ
0714デフォルトの名無しさん2015/11/11(水) 00:47:40.91ID:hQ+Ng6ni
話聞かない回答者がまた暴れだす、死ね
0715デフォルトの名無しさん2015/11/11(水) 00:59:29.52ID:2vpVS7Y/
こんな時間からID真っ赤にしないようにちゃんと変えとくんだゾ
0716デフォルトの名無しさん2015/11/11(水) 00:59:45.55ID:jhfL3S8B
Enumerable.SequenceEqualとかまさしくシーケンスじゃないの?
0717デフォルトの名無しさん2015/11/11(水) 01:04:34.29ID:qdWTE3pv
TupleのitemXって任意名称に変えられないのかね
使いたいけど、itemXが何を指すのか明示し辛くて毎回クラス作る羽目になる
0718デフォルトの名無しさん2015/11/11(水) 01:13:37.70ID:MPuvgpwO
>>717
C# 7.0でそこらへん改善しようという動きはあるが、現状だと無理だな。
0719デフォルトの名無しさん2015/11/11(水) 02:15:32.79ID:J1zmvVNV
>>713
言いたいことは分からんでもないが列挙で返されるものは要素であってシーケンスじゃないよw

ニュアンス的には、イテレーターやクエリ式みたいにIEnumerable<T>を実装したクラスであるかのようにふるまう
何者かのことをシーケンスと呼んでるようにも感じるけど、機能的に等価なんだから同じでしょ。
0720デフォルトの名無しさん2015/11/11(水) 02:24:54.15ID:/+peIgnx
>>716
IEnumerable<T>で返される集合がシーケンス、その構成物が要素
IEnumerable<T>そのものは要素でもシーケンスでもない

まあ仮に、IEnumerable<T>そのものがシーケンスと呼ばれるとしても
IEnumerable<T>実装クラスはシーケンスじゃないし
0721デフォルトの名無しさん2015/11/11(水) 02:27:02.08ID:dpUw/w5G
IEmunerableを実装したクラスはIEnumerableと呼んでるな

だってIEnumerableとして使うわけだし
もと質問者の求める答えとはちょっと違うか・・・
0722デフォルトの名無しさん2015/11/11(水) 04:08:25.76ID:MPuvgpwO
IEmunerable<T> Hoge() みたいなメソッドのサマリーを書くとして、「○○を列挙します。」と説明するのが一番自然だと思う。
「○○のコレクションを返します。」だと、List<T>とか配列のようなものが返されるイメージだし、「○○のシーケンスを…」だと違和感が残る。
0723デフォルトの名無しさん2015/11/11(水) 05:06:28.14ID:FnAxvR+K
全然知らないんですがMoveNextとかはEnumerator実装ですよね?
Enumerableでも使えるのはGetEnumeratorでEnumerator取ってるからですか?
0724デフォルトの名無しさん2015/11/11(水) 10:46:36.52ID:MPuvgpwO
IEnumerable<T>の定義を見てみよう。
0725デフォルトの名無しさん2015/11/11(水) 17:51:33.59ID:jH4gdhBC
ある文字列の中で、2つのキーワードの中にある文字列をLINQを使って抽出したいのですが、やり方が分かりません。
例えば、下の文字列の
「ABCD<a>123</a>EFG」
の中から、<a>と</a>に囲まれた部分だけを取るという事がしたいのです。
0726デフォルトの名無しさん2015/11/11(水) 17:55:09.09ID:DUfHt6hF
バカには無理
0727デフォルトの名無しさん2015/11/11(水) 17:55:24.62ID:h0434h88
なぜLINQでやろうと思った?
0728デフォルトの名無しさん2015/11/11(水) 18:08:23.13ID:Usz+Er1r
縛りプレイもしくは宿題
0729デフォルトの名無しさん2015/11/11(水) 18:20:02.61ID:+wF1gX1q
おまえらどんだけLINQが嫌いなんだよ〜
立て続けに素晴らしい連体感だなww
0730デフォルトの名無しさん2015/11/11(水) 18:20:11.07ID:jH4gdhBC
>>727
最終的にしたいのは、大きめのファイルをFile.ReadLinesを使って読み込み、その中から特定の文字列を取りたいのです。
File.ReadLinesでLINQを使って(正規表現併用でもして)抽出できないのかと、思案してる所です。
0731デフォルトの名無しさん2015/11/11(水) 18:23:29.23ID:87RveuhT
>File.ReadLinesを使って読み込み

まずそこから間違ってる
0732デフォルトの名無しさん2015/11/11(水) 18:40:07.71ID:YDOXgbvn
ABCD<a>12<a>3</a>EF</a>G

みたいなのはどうする?
0733デフォルトの名無しさん2015/11/11(水) 18:53:04.03ID:jH4gdhBC
>>731
巨大なファイル内にある特定の文字を取りたくて、File.ReadLinesを使おうと思ったのです。
ちなみに、これを使う事になったのは↓のサイトの処理速度を見てこれは使えそうと思いました。
ttp://devlights.hatenablog.com/entry/20101116/p2

>>732
<a>〜</a>の組み合わせは今のところ一つだけを想定しています。
0734デフォルトの名無しさん2015/11/11(水) 19:05:23.62ID:MPuvgpwO
巨大のファイルをFile.ReadLinesで読み込むのはちょっと…ってのはおいといて

var 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
>>734
ソース有難うございます。
まだ、不明な点がありますが調べてみます。
0736デフォルトの名無しさん2015/11/11(水) 19:35:10.88ID:hQ+Ng6ni
別にLINQ嫌いじゃないが、そんな事すんなよなとは思ったw
0737デフォルトの名無しさん2015/11/11(水) 19:36:07.54ID:ZERl/AOH
>>734
ReadLinesは遅延評価だからReadAllLinesとは違って巨大なファイルでも効率いいよ
0738デフォルトの名無しさん2015/11/11(水) 19:40:57.26ID:MPuvgpwO
>>737
すまん、ああ、それと勘違いしてた…
0739デフォルトの名無しさん2015/11/11(水) 19:41:01.76ID:YDOXgbvn
改行をまたいでたらどうすんだってことだろ
0740デフォルトの名無しさん2015/11/11(水) 19:46:45.62ID:MPuvgpwO
そこは想定外ってことで…
0741デフォルトの名無しさん2015/11/11(水) 20:06:32.47ID:je1SKr0C
WindowsFormアプリケーションを勉強中ですが、タブレットPCでもWindowsFormは動作しますかね
実機に触ったことがないのでよくわからんのですが、
Windows8やWindows10あたりが入ってるタブレット端末なら作ったWindowsFormのアプリも
使えますでしょうか?(画面サイズを考慮して作るのは当然として)
それともストアアプリとしてじゃないと入れられなかったりするんでしょうか
0742デフォルトの名無しさん2015/11/11(水) 20:15:23.36ID:MPuvgpwO
>>741
特に問題なく動作可能。
ただ高dpi環境とかで動かすと残念なことになるかも知れないけど
0743デフォルトの名無しさん2015/11/11(水) 22:32:02.21ID:WW0Z/7Lv
無関係だが

スレタイにはちゃんと
(初心者用)
と書かれているよな
0744デフォルトの名無しさん2015/11/11(水) 23:20:47.01ID:hQ+Ng6ni
向き不向きは考えた方がいいかもね
LINQで文字列処理とか、Formでモバイル系とか
0745デフォルトの名無しさん2015/11/11(水) 23:55:46.17ID:2kBONmlk
データの集まりに対する統一的な操作だからね
0746デフォルトの名無しさん2015/11/12(木) 00:25:57.38ID:b15uPX39
実際にどうか分からんが、件のデータがhtmlだとしたらHtml Agility Packなんか使ったほうがトラブルに巻き込まれずに済むかもしれんね
0747デフォルトの名無しさん2015/11/12(木) 02:25:12.08ID:NUMUMJ+D
LINQは同じようなデータに対する処理を書くものだから正規表現とかやるならLINQである必要性が薄い
たとえば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:FwVQMCtV
どう見てもLINQの方が見易い
0750デフォルトの名無しさん2015/11/12(木) 08:03:54.52ID:dubRMvMU
そうだな
このケースは実質的には
行の集合→フィルタ→変換→フィルタ→結果の集合
という要素ごとに独立な集合操作なのでLINQを使うのはおかしくはない
0751デフォルトの名無しさん2015/11/12(木) 09:27:42.54ID:b15uPX39
htmlのタグは行をまたぐことも多いから、行の集合体として処理するとエライ事になるよ
0752デフォルトの名無しさん2015/11/12(木) 17:10:09.52ID:2y0wDvFa
>>747
foreach使ったら遅延の意味ないし
さらに新たにlist作ってるのが古臭い
0753デフォルトの名無しさん2015/11/12(木) 18:06:53.36ID:sljIQlRZ
>foreach使ったら遅延の意味ないし
?
0754デフォルトの名無しさん2015/11/12(木) 19:38:54.77ID:Ky5LrglX
今時2.0のレガシーなソースコードを流用しないといけないんだけど、XML Webサービスと型付データセットでこれををEFとEDMに置き換えることによるデメリットって何かある?
ちなみに同一アセンブリ内からしか呼び出ししてないのになぜかASP.NETでWeb参照作ってSQL Serverと接続させてる元開発者の意図が読み取れないんだけど・・・
■ このスレッドは過去ログ倉庫に格納されています