ふらっと 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
44デフォルトの名無しさん
垢版 |
2017/05/03(水) 16:45:45.69ID:0sDWrHda
この問題、誰か解いてクレ
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2403
2017/05/03(水) 16:57:56.10ID:AgXd40Zr
言語の新機能が設計から実装に落とし込むための機能じゃなくて
厨房の工作レベルの計画性しかなくて呆れる
ラムダ式、var、linqとか
この設計を実現するために、この言語にはこの表現が必要なんだ!

って代物か?
なんか開発経験の浅い素人がちょっと変わった表現入れて見ましたレベルのゴミじゃね?
って言うのはさ、想定する理想の設計書が言語から見えない
こんなの続けてたら早めに終わるよ
46デフォルトの名無しさん
垢版 |
2017/05/03(水) 17:01:41.68ID:0sDWrHda
この問題、誰か解いてクレ
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2403
2017/05/03(水) 17:07:52.89ID:FWXQV7fR
>>27
バカの>>17がバカを指摘されて発狂したんだろ
2017/05/03(水) 17:22:53.59ID:yMHwWAzs
>>43
無職としか言えないかわいそうな人乙
49デフォルトの名無しさん
垢版 |
2017/05/03(水) 17:34:31.33ID:0sDWrHda
夕食

はい、無職いがい言えました

少ない情報でそんな結論に到達する
 お前の頭のほうが可哀想だろ?
2017/05/03(水) 17:38:25.57ID:lLL2BOd0
人にばっかり矛先むけてても仕方ないだろうに
2017/05/03(水) 17:54:58.75ID:n3jwfd5I
まずC#書いてから参戦!してくれよな〜たのむよ〜前スレ514さんよ〜
2017/05/03(水) 17:59:11.59ID:I7VBe2qC
>>51
あれ結局XmlNodeListだとvarで表示されないって話だった
2017/05/03(水) 18:03:08.53ID:yMHwWAzs
夕食?
本人は面白いんだろうな...
こんな少ない情報で語彙のレベルがわかるのも珍しい w
54デフォルトの名無しさん
垢版 |
2017/05/03(水) 18:10:02.53ID:0sDWrHda
秋田
2017/05/03(水) 18:27:33.19ID:lLL2BOd0
まだvarの話してるの?
2017/05/03(水) 18:30:30.49ID:tOtENMmp
var使うためにはvarのためにコードを記述しないと動かない
var出ないコードで動いてもvarで動くとは限らない
のでますます使いたくない
2017/05/03(水) 18:31:45.96ID:rxLV1vbf
>>56
varのためにコードを書くって何?
2017/05/03(水) 18:37:25.34ID:FY5OfGG/
>>57
XmlNodeListをforeachでvarが使えるように改造してみればわかるって
2017/05/03(水) 18:42:16.99ID:b5hGVml5
ジェネリックの話は恥かくだけなんだからやめればいいのに
2017/05/03(水) 19:33:55.40ID:yMHwWAzs
>>52
それじゃなくて
>> 514
> カーソル当てて見れるのって実行中だけじゃねっけ?
でしょ
まあデータヒントと勘違いしたんだろうけど恥ずかしいのには変わりないわな
2017/05/03(水) 19:34:18.34ID:wynseuBM
恥を書いたと思わなければ怖くない
2017/05/03(水) 20:53:55.67ID:n84gKlGC
>>60
でも実行中しか見れないのもあった気がするから
今度メモっとくよ
そのおかげでいちいち実行して型調べてってやってた記憶がある
2017/05/03(水) 21:34:58.23ID:VaB9PVwh
>>62
dynamicと勘違いしてね?
2017/05/03(水) 21:37:52.83ID:R0gUGf9P
>>63
それも含めて見とくよ
2017/05/04(木) 02:39:11.85ID:EbOwgvak
>>58
varが使えないのは型変換やキャストが伴うときだけのはず
キャストならもちろん実行例外になる可能性もある
「varでないコードで動いてもvarで動かない」時は型変換伴う特殊なコードを記述してる時だから、それを気付けるのはむしろメリット

そもそも、今XDocumemtじゃなくてXmlDocumentを使う必要って何かあるんだっけ?
2017/05/04(木) 08:50:18.79ID:FtLavEYm
頭とコードが古い時
2017/05/04(木) 08:58:08.55ID:3md+aC3g
>>65
なんでお前が文句言ってるの?w
2017/05/04(木) 09:28:21.01ID:CuDuyn93
他でやれ
2017/05/04(木) 09:35:08.90ID:F88t7MBG
>>66
なんか笑たわ
2017/05/04(木) 12:55:34.05ID:jK3vPaI/
実のない議論がよっぽど好きなんだろうな
「絶対使え」VS「絶対使うな」になっている人もいるみたいだし
こんな連中が仕事でやっているとか信じられなーいw
2017/05/04(木) 12:56:57.95ID:3md+aC3g
>>70
お前はどういうスタンスなの?
2017/05/04(木) 13:51:19.59ID:CuDuyn93
追及がうちのオカンみたいで嫌。
他でして
2017/05/04(木) 19:53:19.56ID:OUarxtpR
議論はこっちへ行ったほうがいいでは?

C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1492843013/
2017/05/06(土) 03:15:29.49ID:pFOk+Mr/
<MouseBinding Gesture="LeftClick" Command="{Binding PlayCommand}" CommandParameter="{Binding ElementName=mediaElement}"/>
ViewModelでmediaElement.Play()
とやっているんですが、ViewModelで直接GUIを操作するのは良くないですか?
2017/05/06(土) 04:19:00.57ID:JAj3fJt6
>>74
いいんじゃねぇの
どうせVisibilityとかBrushとかVMに持ってるんだろ?
それらと同列だよMediaElementだって。

完全に分離するならVMでSystem.Windowsをusingした時点で負け
2017/05/06(土) 08:26:31.08ID:2V5tVO5D
実はIValueConverterインターフェイスの指定がなかったオチだったりしてな
2017/05/06(土) 11:00:33.89ID:T6Jlq3rr
>>75
PointとかRectぐらいVMで使ってもいいじゃん…
2017/05/06(土) 12:57:36.09ID:8ByKHzLH
randomって今時デフォシード秒単位なのかよ
毎回インスタンス作ってたウンコプログラムで同じのがで続けて困ってたw
まぁバグを分かりやすくしてんのかな?
2017/05/06(土) 13:10:52.42ID:dk2lz/cl
後方互換性ってやつじゃね
2017/05/06(土) 18:39:57.03ID:fDXZMCmx
C#でOleDbConnection使わずにmdbファイルにアクセスする方法ってありますか?
2017/05/06(土) 19:05:23.36ID:T6Jlq3rr
OdbcConnection使えば良いよって話?
2017/05/06(土) 20:02:04.84ID:rojhZA3i
VBSを呼べば
83デフォルトの名無しさん
垢版 |
2017/05/06(土) 22:26:19.40ID:E68EYTdk
varの話してもいいですか?
2017/05/06(土) 22:34:35.43ID:OtjUCwsv
スレチ

C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1492843013/
8580
垢版 |
2017/05/07(日) 03:10:43.47ID:GwfheDvL
作った方はもう居ないんですがOleDbConnectionでConnectメソッドを呼び出しているわけではないんです
なのにmdbファイルから読んでいるみたいなのです。変数の定義元に行っても以下のように書いてあり、拡張子は.csではないです
hogehoge {
}

これってどうやってmdbファイルにアクセスしているんでしょうか?エスパーになりますがよろしくお願いします
2017/05/07(日) 09:25:44.48ID:2TKwZSPE
1.OleDbConnectionクラスなの?派生なの?
2.それはOpenメソッドを呼び出しいるの?
3.mdbファイル名がプロジェクトの定数に設定されてない?
4.変数の定義元のファイル拡張子ってなに?

どーせDSN接続とか、接続文字列リソース内にありましたとかじゃねーの
2017/05/08(月) 11:19:55.50ID:wMNFDEx6
entity frameworkじゃないの
8880
垢版 |
2017/05/08(月) 19:27:02.19ID:omDRiSwu
拡張子はxsdでした
3みたいに定義はされていましたが何なのかわかりません
2017/05/08(月) 20:33:49.00ID:lAGwTMvd
entity framework
90デフォルトの名無しさん
垢版 |
2017/05/11(木) 00:02:37.39ID:In0r9D2X
初心者質問で申し訳ないのですが
form1が親フォーム、form2が子フォームの時
form1にform1のコントロールを操作する関数があり、form2からその関数を実行するには、form2のコンストラクタにform1のオブジェクト(f1)を渡せばf1.hohe()のように実行出来るのでしょうか
適切な方法がいまいちわかりません。どなたかご教授頂けると助かります
2017/05/11(木) 00:17:22.57ID:1Awx/Lc+
>>90
コントロールを操作するメソッドをpublicかinternalにしておく
そのうえでForm1のメソッドに繋げる
http://tukaenai-pg.cocolog-nifty.com/blog/2006/05/c__2de6.html
これはコントロールの値の参照の場合
メソッドを使う場合は.textBox1.Text;の部分を差し替えればいい
92デフォルトの名無しさん
垢版 |
2017/05/11(木) 00:18:13.36ID:deUGmbrA
varの話してもいいですか?
2017/05/11(木) 00:20:37.09ID:tLIafHnt
>>90
確かにForm1のメソッドをpublicかinternalで公開して、Form2がForm1のインスタンスを
何らかの方法で持てば実現できるけど、あくまで一般論で言えばFormのメソッドを
外部に公開するのは不適切な場合が多いと思うよ

普通は、

Form1からモデルMのメソッドを呼び出す

Mが何らかのイベント発生

Form2はMのイベントを受信して何か処理をする

こんな流れじゃないの?
2017/05/11(木) 00:27:17.35ID:OONLth3D
いいです🙆
95デフォルトの名無しさん
垢版 |
2017/05/11(木) 00:40:50.67ID:Wt/R3NkD
>>91>>93
ありがとうございます

>>91で紹介された方法で実行しようと考えてたのですが、>>93の指摘からform2にイベントハンドラを追加してコールバックイベントで実行するのが良さそうですね
再度検討してみます
2017/05/11(木) 09:10:31.71ID:HCpPVWHs
>>93
Form1からモデルMのメソッドを呼び出す

Mが何らかのイベント発生

Form2はMのイベントを受信して何か処理をする

Form2がなんらかのイベント発生

Mがイベントを受信してイベント発生

Form1がMのイベントを受信してコントロールを操作する

アホみたいな設計だな
2017/05/11(木) 09:20:01.82ID:MNNhzL+Y
なんかもっとイケてる方法ないの?
その方法カッコよくないよね
2017/05/11(木) 09:24:12.50ID:HCpPVWHs
>>90
普通に
form2.form1Action+=()=>{form1.checkBox1.Checked=true;};
でいい
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
文化の違いがどうしようもない

日本人は縦横の線が入った表に慣れてる
アメリカ人は線がない方が好み
■ このスレッドは過去ログ倉庫に格納されています