X



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

■ このスレッドは過去ログ倉庫に格納されています
2018/04/06(金) 17:40:19.48ID:oKXVP34zM
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■関連スレ
C#, C♯, C#相談室 Part95
http://mevius.5ch.net/test/read.cgi/tech/1508180530/
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part136
http://mevius.5ch.net/test/read.cgi/tech/1520057345/

■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2018/05/12(土) 09:58:57.02ID:yKmgHprg0
>>486
だったら発言すんなよ
消えろクズ
2018/05/12(土) 10:00:05.00ID:vhGL8v7ea
https://www.infoq.com/news/2013/08/xml-json-performance

同じくらいのパフォーマンスというならまぁ納得出来る
クソみたいなパーサ使わにゃネスト深さでパフォーマンスが悪化するわけねーだろ
2018/05/12(土) 10:00:18.08ID:56F0arFd0
>>486
再現可能なサンプルぐらい作れ
今のままだと説得力ゼロで誰も納得しねーよ
2018/05/12(土) 10:00:46.67ID:My8LWy2ka
XHTMLって死んだ技術だと思うが
10年ぐらい前の世界かな?

xmlが見やすいって人は初めて見た
2018/05/12(土) 10:08:59.85ID:iloBjJ0sM
>>489
5chに書き込むためだけに実験費用払いたくねえよ
こういう実験はサンプルとして人を雇わないとできないんだよ
思考停止ノータイムでボタン押さずに常識的に少し考えてからレスしてくれ頼むから
2018/05/12(土) 10:10:42.69ID:vhGL8v7ea
再現するJSONとXMLを一個ずつ用意すれば終わるのに自分以外の人間が必要か?
プログラミングやったことありますか?
2018/05/12(土) 10:19:11.86ID:iloBjJ0sM
>>492
あんたは論外
パフォーマンスの話なんて誰もしてない
今はみんな生産性、可読性、保守性の話をしてるんだよ

それを測るためにJSONとXHTMLを等価変換するツールを作った

グループAの人達にはJSONでタグ打ちさせてそのJSONをツールでXHTMLに変換した

グループBの人達にはXHTMLで直接タグ打ちさせた

完成するまでの時間や完成したXHTMLのバグ密度など様々なメトリクスを計測したら直接タグ打ちしたグループBのほうがスコアが高かった

グループAとグループBのスコア差はネスト数が深いほど大きくなった

そういう話な
パフォーマンス比較なんてくだらん話は他所でやってくれ
2018/05/12(土) 10:21:37.68ID:My8LWy2ka
>>493
人間のやることじゃないことを人間にさせて比較する意味がよくわからない
2018/05/12(土) 10:22:19.67ID:7mnYG5Gia
>>493
無駄な変数が多すぎて何を比較したいのか分からなくなってるな
仕事できなそう
2018/05/12(土) 10:22:47.54ID:vhGL8v7ea
>>493
人間がやる意味が分からん
2018/05/12(土) 10:25:26.75ID:FqtFYlf30
流石にこれは擁護できんわw
2018/05/12(土) 10:25:55.10ID:My8LWy2ka
テキストデータをバイナリエディタで書かせるような意味不明な実験を
やって悦にいる会社に勤めてかわいそうとしか思えない
上が暗愚だと下が苦労する
2018/05/12(土) 10:26:11.54ID:iloBjJ0sM
馬鹿しかいないのか

人間がやる意味がないとか言ってる連中は実験の趣旨を全く理解してない

だから思考停止してノータイムでボタン押すのやめろって言ってるんだよ

ほんと馬鹿の相手するの疲れるな
2018/05/12(土) 10:28:00.46ID:vhGL8v7ea
こいつはなかなか面白いな, 素でこのコミュ力ならなかなかの逸材だし作っているならよく理解している
2018/05/12(土) 10:30:21.85ID:My8LWy2ka
>>489
上が暗愚たと下も思考停止で伝染するんだな
バイナリデータでutf8の入力しづらさも検証したか?
2018/05/12(土) 10:31:58.09ID:My8LWy2ka
いや面白いな
どこかの技術系のサイトでネタにしてくれないかな
2018/05/12(土) 10:32:26.46ID:yKmgHprg0
結局、手動で設定するファイルであるなら
jsonもxmlもゴミだろ?
なんの話してんの?
2018/05/12(土) 10:36:00.72ID:My8LWy2ka
>>503
そうでもないよ
VScodeでjsonの各種設定ファイルを手で変えたりするけど
あれがXMLだととんでもないことになる
2018/05/12(土) 10:37:02.56ID:vhGL8v7ea
深くて3階層程度でそんなに行数多くないならJSONは苦痛は少ないかな
2018/05/12(土) 10:37:30.03ID:yKmgHprg0
>>504
そういう無意味な比較意味ないじゃん
xlsで設定できるアプリに使い勝手で勝てるの?
2018/05/12(土) 10:38:25.47ID:15xgRckc0
>>506
それが無意味に思えるなんて幸せなやつだな
2018/05/12(土) 10:39:01.19ID:yKmgHprg0
>>507
だってjsonもxmlもいらねーもんよ
2018/05/12(土) 10:39:07.44ID:PQYWGVmCd
>>506
xlsとかwwwバージョン管理システム使ったことすらなさそうだな
2018/05/12(土) 10:39:44.13ID:vhGL8v7ea
残念だけどXMLはクソオブクソだけどXLSとかCSVはそれをはるかに上回るクソなの
2018/05/12(土) 10:39:58.36ID:yKmgHprg0
>>509
csvでもいいよ
2018/05/12(土) 10:40:08.84ID:15xgRckc0
>>508
C#やめた方がいいよ
2018/05/12(土) 10:40:21.22ID:yKmgHprg0
>>510
理由は?
2018/05/12(土) 10:40:23.88ID:NuxM0Gnx0
せめてxlsxにしてくれ
2018/05/12(土) 10:41:06.38ID:PQYWGVmCd
>>511
反論する気すら起きんわ
2018/05/12(土) 10:41:21.27ID:yKmgHprg0
db(Sqlite)もあるぞ
2018/05/12(土) 10:41:32.86ID:wBO8DWf8M
>>493の実験は「XHTMLのデータはJSONで記述するには適さない」ということを示しているだけだな
そりゃXHTMLのスキーマはXMLで表現しやすいように設計されてるんだから、
JSONだと属性とコンテンツの区別がなかったりして記述しづらいのは当たり前だ
JSONにはJSONに適したスキーマ設計がある
2018/05/12(土) 10:41:52.87ID:15xgRckc0
やっぱGitすら使えなさそうだな
2018/05/12(土) 10:43:33.27ID:yKmgHprg0
>>518
gitでcsvの差分見れないの?
2018/05/12(土) 10:44:43.29ID:15xgRckc0
>>519
Gitでsqliteの差分見るのかい?
2018/05/12(土) 10:45:36.20ID:vhGL8v7ea
>>513
XLS: バイナリ, 標準化されてない(されてるかも知らんが概ねExcelないと読めん)
CSV: not well standarized
XLSX: zip圧縮されたXMLじゃん
2018/05/12(土) 10:45:58.87ID:yKmgHprg0
>>520
dbの比較は簡単
バージョン管理の機能にはないけど
2018/05/12(土) 10:46:25.99ID:iloBjJ0sM
>>504
VSCodeのセッティングはネストが浅くて比較的読みやすいし、VSCodeによるコード生成がうまく機能してるからね
2018/05/12(土) 10:47:06.15ID:15xgRckc0
>>522
もはや何を言っているのかわからん
2018/05/12(土) 10:47:34.43ID:yKmgHprg0
>>521
ビジネスでExcel入ってない環境とかあるの?
2018/05/12(土) 10:47:44.90ID:kT5GzpcRa
エクセルからマスターや設定をインポートするようになってるシステムは壊しそうで怖いわ
うっかりレイアウトがズレてて正しくデータが取れなくなるとかよくある
バージョン管理の問題にも関連するけど、再現性が乏しいんだよエクセルは
2018/05/12(土) 10:47:54.11ID:WIOr5zBad
>>522
おれsqliteのバイナリをテキストエディタで書き換える能力ないのよ
2018/05/12(土) 10:48:23.30ID:yKmgHprg0
>>524
DB同士のデータの比較したことねーの?
2018/05/12(土) 10:48:28.96ID:My8LWy2ka
>>517
そこの会社の内部の抗争があるんだと思う

いまどきxhtmlを使ってる派閥がいて
そいつらが不利になったので意味不明なテストでxhtmlすげーをやって
何も考えないやつがそれに賛同したと

エジソンが高圧送電は危険だと言って動物を殺す実験をしたようなもの
2018/05/12(土) 10:48:32.15ID:15xgRckc0
>>525
いくらでもあるよ
2018/05/12(土) 10:48:32.71ID:vhGL8v7ea
>>525
開発は仮想のLinux上とか普通にあるから
2018/05/12(土) 10:49:49.02ID:15xgRckc0
>>528
json vs xmlの比較とは全く異なる次元のものを持ち込んで比較しようとするクズ
2018/05/12(土) 10:50:39.51ID:yKmgHprg0
>>531
openoffice入れろよ
2018/05/12(土) 10:51:17.57ID:15xgRckc0
>>533
こいつdotnet newすら打ったことなさそうだな
2018/05/12(土) 10:51:39.21ID:yKmgHprg0
>>532
そっちは完全に編集するツールがないじゃん
あってもゴミみたいなのしか
2018/05/12(土) 10:51:42.38ID:vhGL8v7ea
>>533
開発用システムでXLS読むために入れるとか本末転倒
2018/05/12(土) 10:52:47.54ID:yKmgHprg0
>>536
お客さんに何で編集したいですか?
って聞いてみろよ
Excelでできるって言ったら大喜びするぜ
2018/05/12(土) 10:53:32.62ID:15xgRckc0
>>535
専用ツールがないと編集できないものなんてイラネ
2018/05/12(土) 10:53:45.26ID:iloBjJ0sM
>>506
Excelの場合はそもそもツリーデータ構造を表現するためのスタンダードなフォーマットが無いので比較する以前の段階

まずはツリー形式のデータ構造を表現するためのフォーマットのデファクトスタンダードを業界全体で決めてくれ
比較はその後に回していいんじゃないかな
2018/05/12(土) 10:54:09.51ID:15xgRckc0
>>537
Linux使ったことないやろ
2018/05/12(土) 10:55:07.24ID:NuxM0Gnx0
vscodeのsettings.jsonとか見せたら発狂しそう
2018/05/12(土) 10:55:50.61ID:vhGL8v7ea
>>537
客は会社のシステム部門なんで別にExcel喜ばれないですむしろ殴られそうです
2018/05/12(土) 11:00:04.65ID:vhGL8v7ea
あとXLSXはともかくXLSをC#から弄ったことないんだけどExcelなしで読めるの?
COM使って読むとか言わないよね?
2018/05/12(土) 11:08:10.26ID:iloBjJ0sM
>>517
やっとちゃんと読んでレスしてる人が来た

確かにもともとXMLをベースに考案されたデータ構造なのでXMLに有利と言えるかもしれない
しかしそれを認めると議論の発端である「jsonはxmlより優れている」という命題を「対象次第ではxmlのほうが有利である」という命題で最初から否定することになってしまう
本当に「jsonはxmlより優れている」なら対象がXHTMLだろうとなんであろうともjsonのスコアが高くなっていなければおかしい
2018/05/12(土) 11:23:55.86ID:P5sx5scC0
なんでもかんでもExcelでやりたいVBAer()さんはVBAスレにおかえりください
事務員さんの常識はプログラマには通用しません
2018/05/12(土) 11:30:46.95ID:15xgRckc0
>>543
ExcelCreator使って、Excelのインストールされてない環境で読み書きしてた
昔々ね
2018/05/12(土) 11:33:52.89ID:5EDA9IkjM
>>465
横から失礼。マイクロソフトの人もそう言ってるよ
2018/05/12(土) 11:34:13.72ID:FqtFYlf30
>>543
OLEDB使えばExcelインストール無しでも読めるで
2018/05/12(土) 11:34:57.85ID:5EDA9IkjM
>>469
一言でいえば古い。
2018/05/12(土) 11:36:20.02ID:FqtFYlf30
この手の議論はUI入力とデータ保持を同一のものとして考えちゃうから平行線だわな
2018/05/12(土) 11:40:59.55ID:My8LWy2ka
>>544
キミが変なこと言ってるだけ

業務での作業性、操作性においてスマホよりPCがすぐれてるという人に対して
PCではタッチ入力できないとかそんな難癖つけてるだけ
2018/05/12(土) 12:09:17.30ID:iloBjJ0sM
>>551
残念だけど君には話が通じないね
553デフォルトの名無しさん (ワッチョイ cbe8-k37M)
垢版 |
2018/05/12(土) 12:44:54.52ID:ek+Myn8j0
>>478
EndsWithに第二引数とかあったのか
いけるわ!ありがとう
554デフォルトの名無しさん (ワッチョイ 4b9f-BsV1)
垢版 |
2018/05/12(土) 12:51:51.95ID:XqIGE8bt0
デザインパターンのブログ(ヤフーブログ)・・・・なかなか良い。

https://blogs.yahoo.co.jp/kamyu_2010/35442561.html
2018/05/12(土) 13:25:14.58ID:UZR1Ryt2a
>>550
それ以前の話でしょw

設定データをユーザーが編集したいなんてかなり特殊な前提でありかつ質問者も
そんな要件を一言も上げてないのにアホかと、

.NET標準のシリアライザではなくあえて外様を使う理由はと聞いて、返って来た明確な答えは
結局「そっちの方が目新しいから」だけ。

中学生じみてるよと言ってるそばからこれだ。
プログラマ板みたいな話になっちゃうけど、本当今じゃプログラマって知能指数が低い奴が
やる仕事になってることを実感するよ
2018/05/12(土) 13:26:52.97ID:My8LWy2ka
json,.netを使うのは早くて使いやすいからだと思う
使いやすいと書くとまた難癖つけられそうだけどw
2018/05/12(土) 14:59:39.27ID:d5Fp40ymM
>>556
どういう観点で見たときの使いやすいなのか説明が無いよね?
2018/05/12(土) 15:01:04.84ID:15xgRckc0
>>555
Microsoftの基本的なライブラリもJSON.netに依存してる
https://www.nuget.org/packages/Microsoft.Extensions.DependencyModel/
2018/05/12(土) 15:05:00.44ID:AEXJFe1f0
自分が json を使うとしたら、
・周りが使ってるから
・xml と比較して見た目が好み
って程度の理由だなあ。

どっちが優れてるかの比較なんてそれ自体がズレてるような。
2018/05/12(土) 15:35:45.32ID:KCIDKf2Q0
暇そうだな
同じヒマでも俺は運動してたけど
2018/05/12(土) 15:49:43.76ID:F4kLnVK3p
シリアライズ出来れば何でもいいよ。
562デフォルトの名無しさん (ワッチョイ cbe8-k37M)
垢版 |
2018/05/12(土) 16:47:10.12ID:ek+Myn8j0
結局Windowsのフォームアプリの設定ファイルは何が適してるんだよ
jsonでもxmlでも大差ないよ好きな方どうぞって結論でいいの?
2018/05/12(土) 16:54:33.55ID:gqffA4Jja
>>562
そもそも今時フォームアプリなんか採用する時点で全力で時代に背を向けてるんだからどうでもいいよ
2018/05/12(土) 17:04:25.00ID:I6pHI0GBa
>>562
Setting使え
終わり
2018/05/12(土) 17:37:38.32ID:AiYRYzWlM
Settings使え+1
2018/05/12(土) 17:53:54.95ID:5EDA9IkjM
>>562
configファイルにjson形式で書き込む
2018/05/12(土) 17:58:28.95ID:UZR1Ryt2a
>>564-565
質問者は「ポータブルアプリの設定ファイル」と言ってる。

ポータブルアプリがUSBメモリに入れて持ち歩くような物のことを言ってるなら、
Settingsは明らかに不適切

あと、個人的にあんまりアプリケーション設定使ったことないんで勘違いしてるかもしれんが、
これって結構制限も多いしいろいろ面倒だよね
568444 (ワッチョイ 4b9f-ZOQu)
垢版 |
2018/05/12(土) 21:13:35.08ID:4i84e4IV0
質問者ですが、こんなに荒れてしまうとは、、、申し訳ない。

おっしゃるように通常のWindowsフォームアプリならSettingsがデザイナで設定できるし楽なんですが、
ファイルの格納先がローカル(Roamingだったかな?)になるのでUSBメモリなどに持ち運んで使うポータブルアプリとしては採用できないというところでの質問でした。

特に設定ファイルの可読性を求めないようであれば、
形式としては古いが追加ライブラリ不要のXMLか、
スタンダードな形式だが別途追加ライブラリ必要なJSONか、
好きな方を選べって感じですかね。。
2018/05/12(土) 21:31:41.93ID:9vavBtpKM
ユーザー定義リソースにしてexeに直接書き込むって方法もあるよ
2018/05/12(土) 21:32:18.31ID:FqtFYlf30
>>568
USBで運ぶポータブルアプリ程度ならApplicationSettings保存でもいいんじゃないの?
2018/05/12(土) 21:33:56.53ID:yKmgHprg0
exeの直下でいいよな
572デフォルトの名無しさん (アウアウカー Sa11-4Ye1)
垢版 |
2018/05/12(土) 21:48:32.28ID:euW2BAe4a
アプリケーションスコープにするとアプリから書き込みできないよ
2018/05/12(土) 22:03:47.45ID:fKL1gupm0
>>571
でもアクセスの速度違うときあるからね。
2018/05/13(日) 14:47:14.23ID:ySggkKZM0
すいません。
初心者なのでこちらに移動してきました。
MVC的な設計で

初期設定値を入力するフォーム

初期設定値を格納するクラス

というのを作りたいのですが、

A.
クラス側に各変数のプロパティを作成
フォームからプロパティを介してクラスの変数に値を代入

B.
クラス側にフォームの初期値を取りに行くメソッドを作成
クラスからメソッドを実行してフォームに値を取りに行く

のどちらが良いのでしょう?
自分ではAの方がよさそうな気がするのですが、一般的な設計としてこうするというのがあったら教えてください。
2018/05/13(日) 16:02:40.98ID:GQV4/ETF0
ケツの穴から手をつっこんで奥歯をがたがたみたいなBよりA
2018/05/13(日) 16:26:25.12ID:N5R39axQ0
>>574
どっちでも動きゃいいだろ
さっさと完成させろよ
2018/05/13(日) 16:39:15.74ID:i7PAGBqeM
>>574
// form
void btnSaveInitialSettings_Click(object sender, EventArgs e) {
try { this.SaveInitialSettings(); }
catch(...) { ... }
}

void SaveInitialSettings() {
var initialSettings = this.GetInitialSettings();
var reaction =
this.initialSettingsController.SaveInitialSettings(initialSettings);
reaction?.Invoke(this);
}

// controller
Action<IInitialSettingsView> SaveInitialSettings(InitialSettings initialSettings) {
this.initialSettingsService.SaveInitialSettings(initialSettings);
return view => view.Refresh();
}
2018/05/13(日) 18:54:27.05ID:kDeIpxe/p
初心者は出来上がってから検討すりゃいいんだよ。
つうか、プロ目指してるなら、先ずは完成させる癖を付けないとな。
万年アマチュアでいいのなら些末な問題で盛り上がればいいさ。
2018/05/13(日) 20:18:25.58ID:QhZTiQlx0
まず終わらせろ、Facebookのにいちゃんも言ってたべな。
2018/05/13(日) 20:30:10.29ID:i7PAGBqeM
Facebookにいちゃんが誰かわからんがそいつが言うまず終わらせろ、とお前が考えるまず終わらせろは別物だと思うぞ
ユニットテストとリファクタリング込みでまず終わらせろ、って言ってるならマトモだけど、将来のことなにも考えずまず終わらせろって言うならただの害悪
2018/05/13(日) 20:32:15.38ID:23x2pXKw0
>>580
リファクタリングなんか完成した後にバージョンアップする機会があったらやればいいんだよ。
2018/05/13(日) 20:35:20.07ID:kDeIpxe/p
将来が有るかどうかなんて、売れてから考えろw
タイムイズマネーだ。無駄なリソース費やしてる暇が会ったら次の案件片付けろ。
2018/05/13(日) 20:36:03.21ID:N5R39axQ0
>>581
そうだよね
エッチな絵が一枚も表示されないのにリピーターがいることを想定してる
なんてピンボケもいいとこだよね
割とマジで
2018/05/13(日) 20:37:25.10ID:+qfB7sI70
仕様通りの動きだけど汚いコードと
仕様通りの動きじゃないけど綺麗なコード
を同じ時間で仕上げたとして、どっちが優れているかと言えば前者だよな
2018/05/13(日) 20:58:57.32ID:9JUaags60
>>584
そりゃ仕様満たしていないなら比較以前の問題だわな
仕様満たして完成までの期間で比較とかならともかく
2018/05/13(日) 21:04:34.41ID:kDeIpxe/p
まあ、熟練者になれば、素早く仕様通りのコードを綺麗に仕上げて来るからな。
初心者は先ず動くコード、次に仕様通り、最後に綺麗なコードでいいよ。
時間掛かるのはこの際問題にしないw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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