ふらっと 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/11(木) 09:35:36.76ID:HCpPVWHs
form2はform1のコントロールの一つであるという考え方でいい
2017/05/11(木) 10:04:09.58ID:bPF/k6WN
まあ、どうしてVとMを分離するのか理解してないとそういう発想になるね
なんでそんな回りくどいことをする必要があるんだ!って(笑)
そういうのは部分最適って言うんだけどさ
2017/05/11(木) 10:37:36.53ID:k8LkF3Rq
場合によるでしょ
社員のセクハラが発覚したら人事から懲戒処分が出るみたいな処理を>>98みたいな実装するのは最悪だけど、
ビューに閉じた処理なら別にいい
2017/05/11(木) 10:55:36.58ID:bPF/k6WN
あんまり思いつかないけど、そういうケースもないことはないかもね。
2017/05/11(木) 11:15:50.68ID:Nmw4yzni
そもそも画面を2つも3つも作る設計が駄目
って中々言いにくいんだよな
メインの画面遷移とウインドウは有っても確認ダイアログ程度ってのが使いやすいんだが
2017/05/11(木) 15:58:59.55ID:ZJ7VD95O
MDIとかツールウインドウとかさすがにねー
2017/05/11(木) 19:41:47.03ID:RBlNyTa4
デザインパターンってそんなに大事ですか?
2017/05/11(木) 19:46:42.73ID:7SeHLwtP
大事だけど、こだわりすぎると馬鹿の一つ覚えって言われるだろうね
2017/05/11(木) 19:51:33.23ID:Fmy4inGe
すべてをあてはめることが正とまでは思わんが過去に生まれて今まで生きてる考えは大切にしたい

あと意志疎通するときに共通言語があるとやりやすいってのもある
108デフォルトの名無しさん
垢版 |
2017/05/11(木) 22:34:16.25ID:Wt/R3NkD
Formアプリケーションのdatagridviewなんですが
プロパティである列だけボタンセルにしたとき、初期処理で空の100行を作るとボタンにした列に全てボタンが並びます
これを最初の列に値が入ってるところだけ、ボタン表示させることって出来るでしょうか?
例えば100行のうち最初の10行だけセルに値が入り、ボタンも10行目までしか表示されないといった感じです
109デフォルトの名無しさん
垢版 |
2017/05/11(木) 22:38:08.56ID:/9yi1ILC
>>98
ありがとうございます
指導頂いた方法でも試してみます
2017/05/11(木) 22:51:43.92ID:RY17F3BC
リークする可能性がない場合でもイベントにラムダ式を登録するのは
なんか嫌だね。

これはvar使うなみたいな教条主義じゃなくて、実際問題
コードの見通しを悪くするだけの場合の方が多いと思う。
2017/05/11(木) 23:07:09.06ID:7mMTZtUa
突然どうしたの?
112デフォルトの名無しさん
垢版 |
2017/05/11(木) 23:12:34.95ID:deUGmbrA

varに殺された人の怨念が渦巻いておる
2017/05/12(金) 01:12:38.15ID:Z8esmvE1
>>111
突然起こるから発作だろう
2017/05/12(金) 01:26:40.80ID:6t2nmHwz
直前にイベントにラムダ式食わせるコードが出てきてるのにアホか
2017/05/12(金) 03:37:10.22ID:buo/LFts
>>105
だいたいこんなんある、とだけ知っておいて必要時に調べる程度でいいと思う

無理になんかのパターンに当てはめようとしてクラス図書きました
結果いろいろマズくてAdapterで接ぎました
とか笑い話にもならん
2017/05/12(金) 05:08:51.27ID:TAIwSt7O
>>114
そんなのないよ
2017/05/12(金) 05:23:52.24ID:QHw9MbYN
横レスだが、>>110の直前、>>109でお礼言ってる先(>>98)に件のコードあるけど。。。
2017/05/12(金) 05:35:38.08ID:3U2TPXlN
イベントじゃねーw
119デフォルトの名無しさん
垢版 |
2017/05/12(金) 15:28:11.73ID:rar2tz1g
https://msdn.microsoft.com/ja-jp/library/system.collections.ienumerator(v=vs.110).aspx

このスクリプトの、Peopleクラスのprivate Person[] _people;に
Personクラスのインスタンスを3つ代入した後の動作が全くわかりません。
どのタイミングでGetEnumerator()が呼び出されるんでしょうか?
GetEnumerator()が呼び出されたとしても、public Person[] _people;に値が代入されてから
IEnumeratorの実装メソッドがどこで呼び出され、どのように互いに影響してるのかわかりません。
どなたか教えていただけますでしょうか?
2017/05/12(金) 15:39:20.58ID:RyB9wBnj
>>119
foreach文はGetEnumeratorやIEnumeratorの実装メソッドの呼び出しに展開されるので、そこで呼び出されてる

どう展開されるかはググれば出るだろうから調べてみて
2017/05/12(金) 16:16:55.87ID:1e2m781m
>>119
まずforeachはpeople.GetEnumerator()を実行して
IEnumeratorを取得します
あとはそれを使って反復処理を実行します
PeopleクラスはPeopleEnumというEnumeratorを使っていますよと示しているだけ
122デフォルトの名無しさん
垢版 |
2017/05/12(金) 18:09:13.09ID:rar2tz1g
>>120>>121
GetEnumeratorの呼び出しのタイミングが解かったら、IEnumeratorの処理もなんとなく理解できました。
ありがとうございました。
2017/05/12(金) 20:01:54.80ID:jvu/Dkon
SQL Server 2012にあるデータ(ビュー)を取得し、それを条件で絞ったあとDataGridViewで表示させたいのですが自分の知識不足かうまくできません
DataGridViewのDataSourceプロパティにDataSetを指定するのが一番簡単なのかと思うのですが、クエリを動的に指定できず・・・挫折しました
2017/05/12(金) 20:03:15.18ID:jvu/Dkon
途中で書き込んでしまいました
どうすればもっと簡単にできるでしょうか?
2017/05/12(金) 22:17:23.05ID:TH+jg9IW
DataSourceにできるかどうかしらんが

DataView使う
LINQ(to DataSet)でデータセットいじる
DataSetやめてEFつかう

お好きな方法でどうぞ
2017/05/12(金) 23:01:40.87ID:zdRCMQUQ
無理せずAccess使えばいいのに
遥かに簡単にまともなものができるよ
2017/05/13(土) 00:04:19.15ID:7TpNqaHY
>>123
DapperとLinqを使った方が簡単だよ
DataSetは精神鍛錬のための苦行以外では使い道がない
2017/05/13(土) 01:03:37.34ID:a0E3nt9G
Dapper+SQLiteのお手軽感
EFもSQL Serverも二度と使いたくない
2017/05/13(土) 01:35:24.98ID:sHoGv97L
タスクバー常駐型のアプリを作ってます。
起動時に確保したヒープを起動中は保持し続けてるのですが、
この領域が長期間運用中もビット化け等を起こしていないかチェックするには
どのような方法があるでしょうか?

またECCメモリだとビット化けの心配は無いのでしょうか?
2017/05/13(土) 02:44:06.49ID:D+nN5dSS
CRCとか?
2倍の領域を確保してミラーリングみたいにするとか?
どっちにしろC#向きじゃないような気が...
2017/05/13(土) 02:58:37.95ID:a/q/GLOb
>>129
ECCメモリーは、訂正可能なエラーは文字通り訂正されるから、化ける確率はずっと低くなるけど、
稀に訂正不可能なエラーが発生する場合もあるから、全く化けないわけじゃない。
132129
垢版 |
2017/05/13(土) 03:16:23.00ID:sHoGv97L
C#でDictionary構造を保持しています。
Dictionaryに格納しているデータは任意のタイミングで変更されます(頻繁ではない)。

データに変化があるたびにDictionaryをバイト配列に変換してサムを算出し、
定期的にチェックサムするっていう方式はビット化けに対して有効でしょうか?
2017/05/13(土) 06:08:23.80ID:xwwURnHm
>>132
誰がDictionaryにアクセスすんの?
bit化けはマジで起こってるの?
2017/05/13(土) 06:43:20.62ID:R3eq2uIx
>>132
メモリが勝手に化けることを想定したらプログラミングは全く成り立たないので無視
ユーザーコードからの普通の書き込みについては、Dictionaryを直接晒さずに特定のメソッド経由で書き換えさせるようにすれば確実にフックできる
2017/05/13(土) 06:56:04.40ID:499UT8S9
>>132
こういうレイヤを分けて考えられない奴っているよな
特にインフラ系から来た奴にありがち
「変数が多いなら抽象化しろ」という考え方が理解できず、
if一行足せば済む問題を必死でネットワークの設定弄り続けて回避しようとする
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
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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