C#, C♯, C#相談室 Part93©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/04/22(土) 08:52:00.93ID:iVvswOrb0
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/

■コードを貼る場合はこちら
http://ideone.com/

■前スレ
C#, C♯, C#相談室 Part92
http://echo.2ch.net/test/read.cgi/tech/1485589613/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2018/06/10(日) 12:09:56.40ID:ycwHE1rSa
>>444
どこが決めつけてる>>439
456デフォルトの名無しさん (ブーイモ MM05-UL3Q)
垢版 |
2018/06/10(日) 13:05:02.68ID:fXHYwG6AM
C#のLinqを使っているのならPythonの方が2倍速くなる
https://qiita.com/yniji/items/6585011633289a257888

C# の Linq が python の2倍遅い、は嘘
https://qiita.com/Akira_Kido_N/items/d9519b05ccee6a67158f
2018/06/10(日) 13:22:36.14ID:8jSf3er6M
俺が知りたいのは、オブジェクトをx回作るやり方なんだよ
2018/06/10(日) 13:47:05.85ID:FyF+mujLM
for(var i=0;i<n;i++)Days[i]=new Day(i);
2018/06/10(日) 14:27:51.17ID:A9qrJ+Er0
linqで発狂してるジジイはSQL絡みでよくわからないエラーに出くわして理解できなかったんじゃないの
2018/06/10(日) 17:59:54.77ID:Nj3/us+lM
もう全部varでええやろ
2018/06/10(日) 18:16:30.94ID:Ve8EHXbu0
保守性の低い Linq を使ったコードの実例を見たいんだけど。
2018/06/10(日) 18:55:50.21ID:FyF+mujLM
クエリ式を使ったのは単純なのはわかりやすいけど複雑になるとお手上げ
メソッド形式で使ったとしても逆にクエリ式のfromを二重の使ったほうがいいのにSelectManyを使ってるやつは非常に醜い
JoinやAggregateも可読性が以上に低い
2018/06/10(日) 18:58:38.79ID:0FFsGNUEa
意見は分かれると思うが、川俣大先生が連載記事で引用してた
このサンプルあたりがボーダーラインかね
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/concepts/linq/how-to-query-for-duplicate-files-in-a-directory-tree-linq

個人的にはこれも読みづらい

実にどうでもいい話だが、LINQは頭字語のはずなのでLinqって表記には違和感しか感じない。
あと、これもくどいが、LINQじゃなくてクエリ式の話をしてるんじゃないのかと
2018/06/10(日) 19:04:29.50ID:FyF+mujLM
>>463
これはだめな例じゃないかな?
何をやってるかがわからない
2018/06/10(日) 19:22:31.41ID:0nkwjY0q0
これの事?
var queryDupNames =
  from file in fileList
  group file.FullName.Substring(charsToSkip) by file.Name into fileGroup
  where fileGroup.Count() > 1
  select fileGroup;

基礎的なものだけで構築されていて何をやっているか一目瞭然じゃん
2018/06/10(日) 19:59:10.70ID:7XGbwrsW0
これがわかんないって言うならもうlinq禁止しか無いね
そんな人間がいるプロジェクトには関わりたくないけど
2018/06/10(日) 20:06:35.03ID:kZ6+r7gZM
全員linq読めても将来読めない人がメンテするかもしれないから禁止
実際にあった話
2018/06/10(日) 20:19:14.72ID:Ve8EHXbu0
ああこれが分からないってんなら確かに LINQ 禁止だわ。w
でもそんなのに付き合ってやる義理はないんじゃね? あとは規約の問題だな。
2018/06/10(日) 20:29:40.62ID:FyF+mujLM
自分ならメソッド構文で書く
2018/06/10(日) 21:47:34.28ID:WVhS1nfV0
分からないなら勉強するなり聞くなりすればいいじゃんとは思うけどな
可読性あげるのは理解できるが便利な関数を規制するのはおかしいくない?
いつまでたっても個人の技術力上がらなくなるけどいいの?とは思う
2018/06/10(日) 21:54:10.88ID:FyF+mujLM
わからないって意味を誤解してるだろ

var queryDupNames = fileList.Groupby(f=>略, f=>略).Where(g=>g.Count>1);

メソッドだとほぼ一瞬で何をやってるかわかるだろ
わざわざ行数を割いて理解に時間のかかるクエリ式を使う意味はねえよ
2018/06/10(日) 22:13:28.91ID:WVhS1nfV0
あークエリ式じゃなくてラムダで書いた方が見やすいって話?
それなら同意
2018/06/10(日) 22:39:32.51ID:7XGbwrsW0
そんなんリファクタすりゃ済む話じゃん
2018/06/10(日) 22:43:36.88ID:mLmPdblh0
リファクタリングするにもユニットテストで担保取れないレベルの酷いプログラム沢山あるからなあ
2018/06/10(日) 22:53:21.31ID:kZ6+r7gZM
低レベルなプログラマに合わせたコードはテストしにくいひどいコードになりがち
インターフェース禁止だとか当たり前のように言ってくるからねあいつら
2018/06/10(日) 22:54:32.29ID:SjjA9sVt0
今日も自閉症の見本市
2018/06/10(日) 23:06:57.39ID:0nkwjY0q0
低レベルなプログラマとの話し合いは無駄だと言うことがよくわかった
2018/06/11(月) 14:37:15.67ID:dC6OTsii0
リファクタリングをリファクタ言うの非常に気持ち悪い
refactor は refactoring から派生した単語
refactor という動詞は使われだして日も浅く、まだ技術系のスラングの域でしかない

VS には「リファクター」としてリファクタリングを行うメニューが提供されているが
小洒落た動詞として使用される分には気にならないが、
日本人が「リファクタする」とか使ってると「カンパニーのコンプライアンスをガバナンスする」とかと同様に見える
いやもっとあれか「コンプラをガバーンする」とかと同じレベルかな? (govern は正しい動詞)

https://english.stackexchange.com/questions/57750/is-there-a-verb-refactor-meaning-doing-refactoring-in-english

……MSのスペルチェッカで引っかかってたのか(現在は知らんが)
2018/06/11(月) 17:24:57.86ID:FO+2sVJQ0
カタカナ表記する時点で英語のことなんて気にしてちゃやってられんよ
2018/06/11(月) 17:36:15.53ID:xa0hP702a
唐突に何なんだろうねw
まあ、某社のVS用のリファクタリングツールの旧名がRefactor !"だったね。
2018/06/11(月) 19:40:48.77ID:IrI/gpw8M
英語はよく知らんが 〜ing から派生して 〜 ができるとかあり得るのか?
2018/06/11(月) 22:30:32.76ID:dC6OTsii0
うん、そもそも refactoring が造語

初出が誰なのか不明(Martin Fowler ではない)だが、
1992年には論文で見られるっていうほんとに新しくできた単語なのよ
2018/06/11(月) 22:53:53.28ID:ziXMMRuaa
新しい(26年前)
2018/06/12(火) 11:25:19.10ID:XfLFdaMYp
接頭辞と接尾辞を付けただけだから別に造語ってほどじゃ無いだろ?
2018/06/12(火) 13:31:08.41ID:l5O6ZBmRM
もとの言葉がfactor、factoringで、factorは動詞としても使われているのだから、
英語圏ならrefactoringという言葉が登場した時点でrefactorという言葉も同時発生的に生まれていると思うが…
2018/06/12(火) 14:20:48.56ID:O2DKnY7ra
どうでもいい話だけど、派生した順番はたぶん

factor(名)→ factoring → re-factoring

なんだろう。

完全に想像で何の根拠もないけど、computingが動詞のcomputeの動名詞ではない(たぶん...)
ように、factoringも動詞のfactorの動名詞ではないような気がする
2018/06/12(火) 21:59:47.02ID:tBKs/ecm0
>>447
factorizeはなぜ使われなかったんだろう
2018/06/12(火) 23:00:33.34ID:KC1Yqp3NM
まずは英英辞書引こうよ…
2018/06/13(水) 07:49:48.39ID:GuprKmCG0
英英辞書ってやっぱりエイッエイッて引くのなのかな
2018/06/13(水) 08:29:12.19ID:o1Fw+zabM
一晩考えてそれか。。
491デフォルトの名無しさん (ワッチョイ 81b3-eEtL)
垢版 |
2018/06/13(水) 17:13:37.26ID:LyYtEKg40
こういうやつってC#に向いてるんだろうか
https://i.imgur.com/XbewmEQ.jpg
でもUnityとかでゲーム作りたいね思ってるのってこのタイプだろうなと思うし。
492デフォルトの名無しさん (ワッチョイ 81b3-eEtL)
垢版 |
2018/06/13(水) 17:14:09.95ID:LyYtEKg40
これな
https://www.arealme.com/left-right-brain/ja/?ag
2018/06/13(水) 17:20:21.24ID:yGCmXdsAM
C#より丸鋸とか旋盤の方が向いているんじゃね?
494デフォルトの名無しさん (ワッチョイ 81b3-eEtL)
垢版 |
2018/06/13(水) 17:22:01.32ID:LyYtEKg40
3DCGはうまいけどなw
495デフォルトの名無しさん (ワッチョイ 81b3-eEtL)
垢版 |
2018/06/13(水) 17:24:47.33ID:LyYtEKg40
図面はやってたけど、なんでもアバウトで絵をかいてるんじゃないからとかボロカス言われた。
2018/06/13(水) 19:08:31.55ID:TJmxm3LHM
近年、そもそも右脳左脳自体がエセ科学だったんじゃないかって言われてるけどね。

ここのサイトのconsoleって書いてあるところに自分のrwitterアカウント打ち込むと、性格にマッチした言語がわかるよ。IBM製。
http://hello-new-world.mybluemix.net/top
2018/06/13(水) 19:10:58.93ID:tfOKWYs/0
>>490
やーごめん。このスレ今日初めて見たの。ちゃちゃいれてもうしわけなす。
2018/06/13(水) 23:36:14.69ID:AGR+xSSx0
>>496
IBM製じゃなくてBluemix使ったアプリなだけやん
2018/06/14(木) 08:07:40.99ID:TG8lbF0sM
>>498
いんや、公開したのは日本IBMだよ
500デフォルトの名無しさん (ワッチョイ c21b-U+xr)
垢版 |
2018/06/14(木) 12:02:14.52ID:ZrVl35qK0
自分、ブックオフで買ってきたOS無しのPCにUbuntu入れてるんですが、
Pythonとか面白いので、C#もやってみたいと思っているんですが、

Mono入れれば、書店で売ってるVisualC#の本とか出来ますか・・?
501デフォルトの名無しさん (アウアウカー Sa69-qcd4)
垢版 |
2018/06/14(木) 12:26:43.19ID:ZNAi3suja
C#やるなら普通にWindows機でやったほうがいいと思うけど
2018/06/14(木) 12:28:45.35ID:IAs3lrtOd
>>500
C#で何がしたいの?
2018/06/14(木) 13:05:26.16ID:PJ7Fj3C3a
左は約30年前の 稲川会 三日月一家 小原忠悦組長
https://imgur.com/a/MlKixgw
504500 (ワッチョイ c21b-CUAo)
垢版 |
2018/06/14(木) 17:14:29.50ID:ZrVl35qK0
>>501
どうもありがとうございます。Windows機は父親のしかありません・・。強奪してこようかな・・。父親全然使っとらん。。

>>502
本のプログラムを打ち込んでみたいです。Pythonとか面白かったのでC#も挑戦してみたいという感じです。なんかいけそうっぽい
2018/06/14(木) 17:17:13.41ID:cv3CkBmoM
>>499
あら、そうなのか
すまんかった
2018/06/14(木) 17:27:33.62ID:im2Z0uooa
>>504
本がVisual Studioを使う前提で書かれていたら無理
2018/06/14(木) 17:59:42.71ID:IAs3lrtOd
>>504
だから具体的に何をしたいの?(何を作りたいの?)
2018/06/14(木) 18:14:23.58ID:im2Z0uooa
書いてある通りだろ

本を読んでその通りなぞりたいんだろ
2018/06/14(木) 18:19:58.04ID:T0JMmz9y0
>>506
猫でもわかるシリーズならそんな心配はないな!
>>504
お父さんのPCで間違ってエロコレクションとか見つけたら鬱になるのでやめたほうがいい
ただVisual Studio(VScodeでもいいかも)使えない環境でC#やるのはめんどくさいと思うよ
2018/06/14(木) 18:22:09.50ID:im2Z0uooa
猫でもわかるシリーズは今はもう古いと思う(※個人の感想です)
2018/06/14(木) 18:22:19.44ID:IAs3lrtOd
>>508
本によるやろそんなもん
2018/06/14(木) 18:23:22.66ID:im2Z0uooa
>>511
だから馬鹿な質問するのはやめとけよ
2018/06/14(木) 18:23:51.86ID:T0JMmz9y0
>>510
>>509はC#の本なんかまったく読んでいない無責任な個人の感想です
2018/06/14(木) 18:28:25.08ID:IAs3lrtOd
>>512
本によるから実際にやりたいこと聞くことの何が悪いんかい?
2018/06/14(木) 18:30:41.94ID:Cw52iYDwM
ここで聞くようなレベルの人が使うもんじゃないと思う ⇒ Mono
2018/06/14(木) 18:34:01.18ID:im2Z0uooa
初心者がc#が何かよくわからないけど本を読んでなぞって体験したい
そんな感じだろ
それ以上何がある
2018/06/14(木) 18:35:19.36ID:Cyktia16d
>>516
キチガイ
2018/06/14(木) 18:37:17.48ID:im2Z0uooa
>>517
自分がプログラム入門者だとして何がしたいと答えるつもりだ?
2018/06/14(木) 18:39:04.95ID:KqjFIT9WM
世界征服
2018/06/14(木) 18:40:09.93ID:Cyktia16d
>>518
いくらでもあるやろwww
2018/06/14(木) 18:42:49.17ID:im2Z0uooa
>>520
やっぱり答えられないじゃないか

pythonの本を読んでその通り打ち込んで楽しかった
次はc#だって感じだろ

何か作りたいものがあるならpythonでやるだろ
2018/06/14(木) 18:44:53.14ID:Cyktia16d
>>521
ありすぎてひとつに絞る意味がない
おばかさん
2018/06/14(木) 18:46:00.00ID:im2Z0uooa
>>522
結局答えられないくせに偉そうだな
2018/06/14(木) 18:47:04.68ID:Cyktia16d
>>523
ぼくとりあえず簡単なWebアプリがつくりたいのー
2018/06/14(木) 18:47:24.43ID:Cyktia16d
>>523
アンドロイドアプリモンスターズつくりたいなー
2018/06/14(木) 18:47:59.25ID:Cyktia16d
>>523
家計簿つくりたいー
2018/06/14(木) 18:48:16.72ID:Cyktia16d
>>523
テトリスつくりたいなあ
2018/06/14(木) 18:50:17.14ID:Cyktia16d
>>523
まだ必要?
2018/06/14(木) 18:50:51.62ID:im2Z0uooa
>>528
じゃあそれを質問する意味はなんだ?
2018/06/14(木) 18:51:45.04ID:T0JMmz9y0
両方NGでいいや
2018/06/14(木) 18:51:56.99ID:im2Z0uooa
>>524-527を作るための本を紹介するのか?
本をなぞると言ってるのに?
2018/06/14(木) 18:55:45.38ID:Cyktia16d
>>529
はいキチガイ
2018/06/14(木) 18:56:08.99ID:Cyktia16d
>>531
だから本によるんやろw
2018/06/15(金) 06:51:22.33ID:7Iypneqg0
ここまで1人の自演
2018/06/17(日) 07:44:22.33ID:R12hw8Jz0
.hstファイルを読み取りたいので質問です。
C#でやるのに参考になるサイトかコードはないかな?
2018/06/17(日) 08:44:00.21ID:aVMObWbK0
hstって何さ
2018/06/17(日) 09:14:51.45ID:R12hw8Jz0
HSTファイル
調べた限りだとHiSTory fileでFXの履歴を記録したファイルで使われることが多いのかな?
自分が使いたいのはFXの履歴ではないくてカメラの履歴などの情報を取りたいです。C++などのコードで書いてるサイトはあるけどC#が見つからない
2018/06/17(日) 10:00:34.77ID:aVMObWbK0
.hst file format . . . Old and New (Jan 2014)
https://www.mql5.com/en/forum/149178

上のアドレスで説明されているフォーマットだったら普通にBinaryReaderで読み込めば良いんじゃないの
単純な構造だから苦労することも無いと思うよ
2018/06/17(日) 10:05:01.86ID:brTRb0Nk0
>>537
> C++などのコードで書いてるサイトはある
ならそれ真似ればいいだけじゃねーの?
2018/06/17(日) 21:31:13.88ID:R12hw8Jz0
HSTファイルもC++ほぼわからないので、参考になるのがあればと思ったんです。
BinaryReader使って試してみます。
ありがとうございました!
2018/06/17(日) 22:18:28.81ID:qGzm+MRqd
そのC++ライブラリはそんな複雑なことしてんの?
数千行あるなら心折れるかもしれんが、自分で移植するほうが早い気がするけど
C#かけるなら余裕でしょ
2018/06/17(日) 22:23:59.43ID:IxLGC6rAM
byte[]からstructにマーシャリングするのが簡単かな
あ、でも最近のC#はマルチプラットフォームだからバイトオーダーも気にしないとダメなのかな
地味にめんどくせえな
2018/06/17(日) 22:37:48.08ID:R12hw8Jz0
内容しっかり見てなかったけど100行なかったははず
C#もどこかあるだろで探してたけどC#だけまったく見当たらなかったので、結果的には自分で移植のほうが早かったかな
544デフォルトの名無しさん (ワッチョイ 9dd2-cPc7)
垢版 |
2018/06/18(月) 00:31:09.66ID:6KD+nJyx0
どなたか助けてください

PaSoRiでFelicaのReadをしたいのです。
winscard.dllを利用し
ScardTransmitにてADPUを送信することで
非暗号化領域のREAD/WRITEをすることはできました

追加で、暗号化領域のREADをしてほしいと言われ、
Group Service KeyとUser Service Keyという2つの鍵を渡されました。
どうやらこの2つの鍵を使って暗号化領域のREADを行うようなのですが
それに該当する情報が見つかりません。

この2つの鍵と縮退鍵の関連もわかりません。
2つの鍵を使って縮退鍵を合成する???
合成したとしてどういうAPDUコマンドを送る???

ご存知の方がいらっしゃいましたらご教授ください。
2018/06/18(月) 00:46:54.25ID:jPyv6U8B0
それC#の質問か?
2018/06/18(月) 01:05:06.10ID:6KD+nJyx0
>>545
ごめんなさい。C#で書いてるのでC#で質問しました。
他に適当なスレが見つからなかったもので。。。
2018/06/18(月) 14:58:19.26ID:Pxwa7YvH0
ライセンス契約の無い奴にそこから先は教えられねーわ。
2018/06/18(月) 15:38:53.66ID:XzDxjxqSM
バイナリファイルをバイト配列に一気に読み込んでLINQでゴリゴリするなんてC#って言うか.netの醍醐味だね。
C、C++と歩んできて正直C#なめてたが、プログラムの書き方変わったよ。
2018/06/18(月) 19:59:56.07ID:YV8aSpRw0
バイナリファイルのバイト配列はストリーム(BinaryReader/Writer)経由でしか扱ったことないな
浅学ですまないが非常に興味があるので、何をする処理にLINQを使っているのか教えてほしい
2018/06/18(月) 20:21:08.97ID:xPHPGLWh0
>>549
横レスだけど「読み込んでLINQ」だからパーサーの部分だろ
2018/06/18(月) 20:48:17.73ID:Dbb+UGxb0
スキップ.テイク.リバースでバイトオーダー反転してデータ取り込むとかだ。
2018/06/18(月) 20:55:37.17ID:Dbb+UGxb0
テキストファイルを一行ずつ読み込むとか、バイナリファイルを1フレームずつ読み込むなんてのは時代遅れなんじゃねかと。
最近は一括読み込みしかしないな。
パフォーマンスはライブラリやOSが担保してくれる。
2018/06/18(月) 21:33:32.15ID:ubyRHWyfa
時代遅れかどうかは知らんけど(そういうネトウヨチックな「俺スゲー」という間抜けな自己陶酔、俺は大嫌いだがw)
富豪的であってもそれが一時的(たとえばメソッドの中だけ)なら何も問題ないね。

その方がより簡潔だったり可読的に書けるなら否定する理由は何もない
2018/06/18(月) 21:36:42.05ID:C5OiN+R5M
webのアクセスログとかもそんな事するのけ?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況