ふらっと C#,C♯,C#(初心者用) Part128 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2017/05/02(火) 22:05:40.13ID:OPFlvhxj
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

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

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

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part127 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1489498042/

■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1492843013/

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

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
2017/05/13(土) 07:45:25.35ID:RjzTmCQE
>>135
前半はわかるけど後半は何を言ってるのかさっぱりわからん
2017/05/13(土) 10:22:57.83ID:hW1ZB19M
みんなー
Fluent Design Systemってどう思う?
2017/05/13(土) 10:28:08.84ID:8MiIMg7T
デザインは語るよりまともな実例を出してくれと思う
2017/05/13(土) 10:31:06.98ID:hW1ZB19M
やっぱりXAML習得は必須になってくるのかな
2017/05/13(土) 10:34:05.94ID:hW1ZB19M
>>138
nugetでサンプル例を公開みたいな流れで、プロジェクトをダウンロードしても内容が訳ワカメなんだろうね。

( ノД`)…
2017/05/13(土) 11:11:42.14ID:+l0G/mJC
>>140
動画出ているけど、メトロ3Dって印象だな
2017/05/13(土) 11:35:29.87ID:0mphNaBc
>>139
要らないよ
2017/05/13(土) 11:45:53.97ID:rBo1iP3S
文化の違いがどうしようもない

日本人は縦横の線が入った表に慣れてる
アメリカ人は線がない方が好み
2017/05/13(土) 11:49:23.12ID:CaysMjy5
ラテン系の書体はベースラインがきっちり出るから線いらんのよね
2017/05/13(土) 11:53:44.13ID:dy2hOgSI
>>143
WPFのListViewにデフォルトで罫線が無いのがその理由とかまさかないよな・・・
2017/05/13(土) 13:45:34.70ID:imuXkIUh
そもそもWPFは論理的レイアウトに隅々まで拘った極めて欧米的な設計思想で作られていて、
Excel方眼紙を愛する未開の列島民族が手を出しちゃいけない代物だよ
2017/05/13(土) 14:03:04.20ID:0mphNaBc
確かに国産のアプリってUIのレイアウトがしっちゃかめっちゃかだよな
画面だけ見てもモデルがパッと頭に浮かばない
これじゃユーザーも自分は今何を操作しようとしてこの画面を開いてるんだろうって混乱すると思うのだが
そういうこと考えないのかね日本人って
2017/05/13(土) 15:23:35.46ID:uYz1OrPp
レイアウトとかユーザービリティーに無頓着なのは
どちらかと言えば欧米人の方だと思うけどね。

っていうか、欧米はガイドラインやコンセプトの設計者は優秀なんだろうけど、
現場の下っ端がアホなんだろうね。
2017/05/13(土) 16:45:22.48ID:BGrmsOZ0
>>137
winform以外使わないのでギルティ
150デフォルトの名無しさん
垢版 |
2017/05/13(土) 17:15:40.88ID:fNJg9X4W
日本人は、ってわけでもないと思うんだけど、現場に近い人間ほど、枝葉末節まで詳細に決めたがる(決めさせたがる)くせに、UX基礎知識が無くてオレオレルールを押し付ける傾向にある気がする。
だから、何でも出来るポテンシャルはあるんだけど、やり方が全く理解できずに、結局何にも使えないガラクタが多い感がある。
使用者に勤勉を求めるUIは悪だよな。
2017/05/13(土) 17:25:13.23ID:BGrmsOZ0
デザインはわからんなぁ
一点透視図で矛盾なく並べたところで「だっせぇ」って言われたら終わりだしね
2017/05/13(土) 18:28:53.63ID:0mphNaBc
デザインはともかく使い勝手が悪い
無駄な入力項目多すぎ
153デフォルトの名無しさん
垢版 |
2017/05/13(土) 18:49:49.73ID:fNJg9X4W
「見栄え」って意味のデザインは、ぶっちゃけどうでもいいと思ってる。
それは主観評価だからねー。
愛着には関係するけど、使い易さへの影響度はほとんど無いと思う事ね。

入力項目多すぎとか、あるあるだよね。
2017/05/13(土) 19:04:41.24ID:pWdVX1kE
>>150
あるあるw
2017/05/13(土) 19:24:03.68ID:0mphNaBc
未だにウィンドウサイズ固定のウェブサイトを発注する顧客
2017/05/13(土) 22:32:34.54ID:03xZTs2a
>>153
V2Cか
2017/05/14(日) 10:47:33.08ID:0uI+mSYs
ゲームやドロー系除いてタブ移動やフォーカス管理がちゃんと考慮されてればデザインなんて気にしないよ
今はOS自体がそういった基本UI変えてくる糞になってるけど
2017/05/14(日) 10:56:41.46ID:R3oKaNsf
モデルオブジェクトを取得して
新しい内部状態を入力して
送信して保存する
こういうUIは使いにくい

モデルオブジェクトを取得して
メソッド引数を入力して
送信してメソッドを呼び出して保存する
こういうUIは使いやすい
159デフォルトの名無しさん
垢版 |
2017/05/14(日) 12:45:40.06ID:m/JH8Lz+
エラー原因だれか解りませんか?
http://fast-uploader.com/file/7050289086526/
2017/05/14(日) 12:52:31.91ID:lkoSpA4d
クラスに直接メソッド書くなボケ
2017/05/14(日) 14:44:51.94ID:3fFVFQc0
>>159
想像以上で笑ったわw
2017/05/14(日) 14:53:29.82ID:6c+QVGB4
pythonかな
2017/05/14(日) 14:55:13.18ID:8Y89/URi
> クラスに直接メソッド書くなボケ
えっ、普通そうするやん
って思ったら直接文を書いてたのか w
確かに想像以上だわ
164デフォルトの名無しさん
垢版 |
2017/05/14(日) 17:05:55.65ID:m/JH8Lz+
関数名とか日本語ですけどダメですかね?
なでしこ言語から入ったので、まぁいっかな、とか思ってます。
2017/05/14(日) 17:36:53.86ID:91rbLpE3
>>164
もう消えてるじゃねーか。まあ相当だめなんだろ、リーダブルコードでも読め
2017/05/14(日) 18:18:55.08ID:GJiVsoER
レビュアーの評判を見るに関数名が日本語とかいう問題ではなさそうだ
2017/05/14(日) 18:21:04.68ID:VOaapSFu
変数名だろうがメソッド名だろうが日本語にしても問題ないからな
もしIDEにエラー表示出ているのなら、ここで聞くのは荒らしレベル
2017/05/14(日) 18:37:02.94ID:3p+3tmMb
>>167
>>1
初心者がIDEのエラーメッセージを読めると思うか?
2017/05/14(日) 18:37:42.17ID:gsPHEnab
>>168
今時ググるぐらい中学生でもできるだろ
2017/05/14(日) 18:41:14.47ID:VOaapSFu
>>168
日本語読めないのなら初心者未満だな
お前はいちいち誰かに解説してもらったのか
2017/05/14(日) 18:45:25.68ID:3p+3tmMb
テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい

C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1492843013/

ググればいいというのは確かだが聞いたら荒らしとかないわ
2017/05/14(日) 19:01:05.15ID:Niyp1tN0
初心者を見つけたら急に強気になるやつ
2017/05/14(日) 19:04:12.94ID:m1coD/cI
個人レベルなら変数名、メソッド名に日本語使うのはおk
訳の分からない英語にするよりはいいんじゃないか?

ダメな例
void Convert_Data()

void Method_01(int i)
2017/05/14(日) 21:04:12.46ID:3fFVFQc0
うちのも変数メソッドは日本語にしたくなって来た
辞書引いたりググりながらやったりして調べてるけど後で見返すと読めないのがあったりして困るときあるし
2017/05/14(日) 21:30:38.16ID:8Y89/URi
VBA で将来自分が保守しないコードは日本語識別子にしてる
あとデータベースの表名とか列名も日本語だな
それ以外は習慣でまだ英字だな
2017/05/14(日) 23:48:21.63ID:nhCIier5
日本語は複数形がないのがな
2017/05/15(月) 00:06:55.65ID:rEp2NUpi
>>176
ああ、それはたまに思うね
2017/05/15(月) 00:13:11.99ID:WWr1mKyF
複数とか諸とか「たち」とかつければOK
まあ日本語なんてインテリセンス殺しの名前は俺は絶対使わないけどw
2017/05/15(月) 00:44:55.37ID:Fre6jJ42
質問です
ApplicationSettingsBase(を継承したクラス)において
applicationScopedSetting 属性をつけたプロパティのデータが保存されません。
(userScopedSetting のものは保存されます。)

applicationScopedSetting属性のものはどうやったら保存されるのでしょうか。
また、どのような使い道があるのでしょうか。

おねがいします
2017/05/15(月) 01:46:58.70ID:H6WdDjEY
設定プロバイダを自作しないと保存できないんだったか

使い道?アプリケーションで共有する読み取り専用の値を書くんだよ
DB接続文字列とか
181デフォルトの名無しさん
垢版 |
2017/05/15(月) 15:15:02.32ID:DW83hE61
お前らthisつける派?
2017/05/15(月) 15:45:00.88ID:uzaXOcwn
>>181
初心者の俺もそれ知りたい。
偉そうにしてる皆さん達による個々の信仰からのバトルを期待。
2017/05/15(月) 15:54:57.49ID:APQEqBwf
あえてthisを付けるのが正当化されるのは、引数やローカル変数の値を同じ名前
(またはキャメル形式かパスカル形式かだけが違う)のプロパティーやフィールドに
代入する時ぐらいかね。
2017/05/15(月) 16:29:55.58ID:zwx/TTMf
this や self だけじゃなく呼び出し側オブジェクトも
his とか her で参照できていたらパラダイム変わってたよね
2017/05/15(月) 16:55:55.59ID:a/4QJWcH
つける方が好きではあるんだけど、VSだかReSharperだかが消せって言ってくるのでそっちに合わさせたかなぁ
2017/05/15(月) 17:45:39.33ID:S+zSCdGp
メンバー変数を表す接頭辞付ける位なら、thisを付けるな。
187デフォルトの名無しさん
垢版 |
2017/05/15(月) 18:25:08.24ID:cef61/4v
C#で何つくれば一人前なん?
2017/05/15(月) 18:27:39.72ID:oiOdc9uz
>>187
d#
189デフォルトの名無しさん
垢版 |
2017/05/15(月) 19:14:36.37ID:7MwFbRFx
普段this付ないや規則があれば付けるけど
2017/05/15(月) 19:34:09.15ID:ufmd9LL8
結構なんでもthisつけてる
VSには消せっていわれるけど
2017/05/15(月) 19:42:05.75ID:1kHxYJuC
全部のメソッド呼び出しにthis付けているソース見たことあるわ
baseが見辛かったことだけ覚えている
2017/05/15(月) 19:57:23.39ID:oD/+uina
>>183 に一票
2017/05/15(月) 20:25:23.57ID:i6MkOOpj
>>190
に一票
2017/05/15(月) 20:29:21.58ID:DeqHpRpX
VSの初期設定がthisを消しているのでそれに倣ってるわ
2017/05/15(月) 20:31:14.94ID:LCesVlrN
>>194
初期設定でも場合によるだろ
2017/05/15(月) 20:58:22.16ID:MBLyoBiO
最近はインテリセンスも賢くなったからthisは消してる
昔はthis打った方が補完が安定した
197デフォルトの名無しさん
垢版 |
2017/05/15(月) 20:59:47.42ID:cef61/4v
入門書読んでるけど、キーワードが80個しか無いってホントなん?
コンテキスト キーワードのみって事なん?
2017/05/15(月) 21:02:57.01ID:wlL0huyV
>>197
https://docs.microsoft.com/ja-jp/dotnet/articles/csharp/language-reference/keywords/index
199デフォルトの名無しさん
垢版 |
2017/05/15(月) 21:18:38.92ID:QfNwrH5V
c#について質問です。
生成したファイルを実行時に呼び出したいんですが、
絶対パスで指定している場合、環境が代わってしまうと
パス変わってしまうので読み出せなくなってしまいます。
どの環境でも正しく読み出せるように
絶対パスではなく実行ファイルのディレクトリに
ビルド時に生成するものを作りたいんですが
どうすればよろしいでしょうか?

なんとなくリソースなどにファイルを追加設定すればいいのかと思ったのですが
実行してもどこにも生成されませんでした
VisualStudioの扱いに慣れてなくて申し訳ございませんが
そのあたりご存じの方いたら教えてください。
200デフォルトの名無しさん
垢版 |
2017/05/15(月) 21:27:26.62ID:cef61/4v
>>198
今見てるサイトで笑った
2017/05/15(月) 21:38:24.07ID:fLE+TSDI
>>199
色々やるなら Post Build のところにシェルスクリプト書いておく
単にファイルをコピーするならソリューションに追加して、
プロパティでコピーするよう設定する。

↓これのスコア49のとスコア12の回答を参照
http://stackoverflow.com/questions/747941/copying-files-into-the-application-folder-at-compile-time
2017/05/15(月) 23:59:09.51ID:MBLyoBiO
msbuildはタスク追加めんどくさいよね
Coreになった時にcsproj引き継がないでgradleライクなスクリプトに変えればよかったのに
2017/05/16(火) 00:50:21.88ID:VcPDtcgU
xmlはすべて追い出せ!
2017/05/16(火) 01:09:46.21ID:l59jFeCL
JSONよりはわかりやすいだろ
2017/05/16(火) 10:27:28.95ID:JvSvSRd1
Formアプリケーションを作成しているのですが
複数のクラスで発生したそれぞれのエラーをエラーが発生した時に
メッセージボックスに表示してかつログに書き込みたいですのですが
各クラスにはどういう実装をするのがいいのでしょうか
206デフォルトの名無しさん
垢版 |
2017/05/16(火) 10:49:45.75ID:z70mDz+n
C#
ボタン配置しても、ダブルクリックでコードが出ない
http://fast-uploader.com/file/7050419469159/

本当に困っているので、教えて頂けると助かります
207デフォルトの名無しさん
垢版 |
2017/05/16(火) 11:27:54.26ID:z70mDz+n
pyhonファイルも使えると聞いたのですが、やり方はどうすれば良いのでしょうか?
調べてもmacやubuntuしかでて来ませんでした。
OSはlinux mintです
208デフォルトの名無しさん
垢版 |
2017/05/16(火) 11:45:34.03ID:z70mDz+n
using System;
using System.Windows.Forms;

public Sample(a,b)
{
Console.Write(a);
MessageBox.Show(b);
}

Sanmple呼び出し
↑↑↑
を最後に埋め込み
209デフォルトの名無しさん
垢版 |
2017/05/16(火) 13:52:34.17ID:z70mDz+n
何とかなりませんかね?
210デフォルトの名無しさん
垢版 |
2017/05/16(火) 15:06:12.06ID:2YPoPkpm
先生、sqlbulkcopyでdatatableをDB(sqlserver)に入れたいのですが、datatable内の1カラムにgetdate()を設定することは可能でしょうか?
211デフォルトの名無しさん
垢版 |
2017/05/16(火) 15:09:53.48ID:z70mDz+n
はい、可能です
212デフォルトの名無しさん
垢版 |
2017/05/16(火) 15:13:05.65ID:2YPoPkpm
>>211
マジですか!調べてみても分からなかったので出来れば設定方法をご教授願います
2017/05/16(火) 15:29:06.61ID:gO5Fs5vN
>>211
お前いろんなスレで死ねって言われてるけどまだ死んでないの
雪風がどうたら
2017/05/16(火) 16:28:20.08ID:xTLK6q+8
>>205
nlogのようなロギングライブラリ使うのが一般的じゃないかな
概要や使い方はぐぐってね
2017/05/16(火) 18:47:27.26ID:/hvrKFRI
>>210
sqlserverならコピー先のテーブルの既定値にgetdate()設定しておけばいいんじゃないの
少なくともDataTableのExpressionじゃ目当ての処理はできないと思う
216雪風
垢版 |
2017/05/16(火) 19:14:17.44ID:z70mDz+n
死ねなんて、言われた事ないな
2017/05/16(火) 19:45:42.17ID:JgOfy+oS
>>205
エラーとはなんですか?
まずエラーとは何か定義しなければ話は進みませんよ
2017/05/16(火) 21:13:16.85ID:0XQXtOGz
例外と思っていいんじゃね多分
219デフォルトの名無しさん
垢版 |
2017/05/16(火) 21:36:37.56ID:fxDdBjd8
>>205です
>>208>>217>>218
ありがとうございます

イメージとしては、各クラスで起こった例外をcatchしたときコールバック出来るデリゲートを準備して、それぞれのクラスのコンストラクタにformで定義したメソッドを渡してやるといった感じなのですが、一般的にどういったやり方をするもんなのかと思いまして
MessageBox.Show()を実行させるので、エラー発生時の処理を全てform内に記述するのが普通なんですかね?
2017/05/16(火) 21:46:34.93ID:fjoeC8EN
>>219
クラスを同時実行しないのならForm内にエラー処理メソッド作って
・エラーが起きたときに各クラスからそのメソッドを呼び出す
・クラス終了時にエラーを示す返値を出してFormで判断する
普通とか存在しないからその他好きに作ればいいよ
クラス同時実行するのならちょっと面倒になるけど
MessageBox.Show()を使うよりFormにRichTextBoxかLabelで表示したほうが分かりやすいと思うけど
2017/05/16(火) 21:55:35.21ID:64KrDfHK
>>219
例外はなるべく呼び出し階層の上の方でキャッチするのが基本
フォームアプリならそれはすなわちイベントハンドラになる
ヘタに奥の方でキャッチして握り潰すよりずっといい
その代わり、どこで例外が発生して処理か打ち切られてもリソースのリークなどの問題が起きないように
常に例外安全なコーディングをすること
2017/05/16(火) 21:55:53.25ID:kR+Ii8XK
エラーを記録する事に情熱を燃やすよりもエラーを出さないコードを書く事に集中する方がいいと思う。
2017/05/16(火) 22:10:05.09ID:fxabLeuL
エラーを出さないようにするにはエラーを記録することが役に立つから情熱をかけてもいい
2017/05/16(火) 22:17:01.95ID:VGECTk9b
それを例外の握り潰しという
225デフォルトの名無しさん
垢版 |
2017/05/16(火) 22:22:33.82ID:Ag35s8j3
コンパイラをframeworkで標準装備って、ウイルス的に良くないと思うのだけど?
2017/05/16(火) 22:31:35.05ID:AGzM1pll
>>219
よく分からんけど、個々の例外ハンドラーでいちいちメッセージの表示とログの処理を書くのが面倒だってことなら
こんなのはどうかね。
もちろん、まったく一般的でも何でもないはずだけどw


(1) すでに適切に処理された例外を表すHandledExceptionを定義

(2) 個々の例外ハンドラーではキャッチした例外をHandledExceptionのInnerExceptionに
入れてHandledExceptionをスロー

(3) 集約例外ハンドラーを使ってHandledExceptionのInnerExceptionを使って
メッセージの表示とログを行う

集約例外ハンドラーって俺はあんまり使ったことないけどこういうやつ
http://www.atmarkit.co.jp/ait/articles/0507/01/news134.html
2017/05/16(火) 22:35:00.50ID:AGzM1pll
だだこんな作り方されると後で他で再利用しずらいねw
2017/05/16(火) 22:37:25.86ID:zhIbn0v9
エラー処理は置いといて、
自分はログや経過表示にはログクラスを作って各クラスにインスタンスを渡してるな
2017/05/16(火) 22:41:10.27ID:VGECTk9b
例外はキャッチされようがされまいがメソッドを抜けた時点で必ず後片付けが完了しているのが正しい
極端な話、全部UnhandledExceptionで処理しても問題ないはず
230デフォルトの名無しさん
垢版 |
2017/05/16(火) 22:54:27.55ID:4vSkrFsf
下のコードで、var fuga からインデックス等で最初の要素を指定して
データを取得したいのですが、どのように書けば行けるでしょうか?

class Hoge
{
public int hoge { get; set; }
}

static void Main(string[] args)
{
List<Hoge> hogehoge = new List<Hoge>();
hogehoge.Add(new Hoge { hoge = 1 });
var fuga = hogehoge.Where(e => e.hoge==1);
int hogege = fuga[0].hoge; //インデックス等で最初の要素だけ取得したい
}
2017/05/16(火) 22:56:54.77ID:0Zcpca0B
fuga.ToArray()[0] or fuga.ToList()[0]
232デフォルトの名無しさん
垢版 |
2017/05/16(火) 23:02:22.98ID:iUpJkWmO
>>205です
皆さんありがとうございます
すごく参考になるレス頂けてとても助かりました
指摘頂いたことを参考に頑張ってみます
またわからないことあったら質問させてください
2017/05/16(火) 23:12:13.60ID:5HaY8++G
>>230
インデックスで任意の要素を、ではなく、最初の要素固定なら
fuga.First()
でもいける
2017/05/16(火) 23:15:05.18ID:5HaY8++G
Skip()使えば途中の要素もいけるか
235230
垢版 |
2017/05/17(水) 00:17:28.91ID:F4n193dh
fuga.First()がまさに求めていたものでした
fuga.ToList()というやり方も、非常に参考になります。

ありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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