「どんなにくだらない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
ふらっと C#,C♯,C#(初心者用) Part137
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ドコグロ MM07-2FKJ)
2018/04/06(金) 17:40:19.48ID:oKXVP34zM698デフォルトの名無しさん (アウアウウー Sa39-RYnA)
2018/05/19(土) 01:32:36.76ID:VIvIbG0Fa 女?
699デフォルトの名無しさん (アウアウウー Sa39-mCTX)
2018/05/19(土) 01:53:30.54ID:ZECHChrda >>697
前者
デリゲートは現段階で呼び出し先が定まってなくて後でアドホックに処理を差し込みたいときに使うも
最初から呼ぶ相手が決まってるならそんなまどろっこしいことをしないで直接メソッドを呼べばよい
前者
デリゲートは現段階で呼び出し先が定まってなくて後でアドホックに処理を差し込みたいときに使うも
最初から呼ぶ相手が決まってるならそんなまどろっこしいことをしないで直接メソッドを呼べばよい
700デフォルトの名無しさん (アウアウエー Sa02-vTsT)
2018/05/19(土) 02:13:21.77ID:FwiHY2dca >>697
騙されちゃダメwww
そういうのはイベントで実装する。
何故か?
前者で作っちゃったら、その外部デバイスをポーリングしてるクラス(普通はそのデバイスの名前を付けると思うけど)、
前者で作っちゃったら他に流用できないよ
騙されちゃダメwww
そういうのはイベントで実装する。
何故か?
前者で作っちゃったら、その外部デバイスをポーリングしてるクラス(普通はそのデバイスの名前を付けると思うけど)、
前者で作っちゃったら他に流用できないよ
701デフォルトの名無しさん (ブーイモ MMa1-mCTX)
2018/05/19(土) 02:22:01.39ID:6pEEqPiCM >>700
YAGNI
もしそれが必要になったらそのとき変更すればいい
そして、ほとんどの場合において結局必要にならない
職業プログラマじゃないとアプリのコードを目にする機会って少ないから、
.NET Framework自体のクラスのような不特定多数向けの設計を真似してしまいがち
一般に、アプリケーションプログラミングにおいては無駄な拡張性は極力組み込まずに必要最小限のコードでコンパクトに実装するのが正解
そのほうが結果的に変更時のコストも小さくなるよ
YAGNI
もしそれが必要になったらそのとき変更すればいい
そして、ほとんどの場合において結局必要にならない
職業プログラマじゃないとアプリのコードを目にする機会って少ないから、
.NET Framework自体のクラスのような不特定多数向けの設計を真似してしまいがち
一般に、アプリケーションプログラミングにおいては無駄な拡張性は極力組み込まずに必要最小限のコードでコンパクトに実装するのが正解
そのほうが結果的に変更時のコストも小さくなるよ
702デフォルトの名無しさん (アウアウエー Sa02-vTsT)
2018/05/19(土) 02:27:56.45ID:FwiHY2dca >>701
YAGNIなんか関係ない
アホか
必要もない仕様変更を想定して寛容に複雑にするのは愚かだが、
抽象度の高い(つまり汎用性も高い)方のクラスにより具体的(つまりそのプログラムでしか利用できない)クラスの
参照を持たせて依存させるなんてもっと愚かだ
YAGNIなんか関係ない
アホか
必要もない仕様変更を想定して寛容に複雑にするのは愚かだが、
抽象度の高い(つまり汎用性も高い)方のクラスにより具体的(つまりそのプログラムでしか利用できない)クラスの
参照を持たせて依存させるなんてもっと愚かだ
703デフォルトの名無しさん (ブーイモ MMa1-mCTX)
2018/05/19(土) 02:32:39.74ID:6pEEqPiCM704デフォルトの名無しさん (アウアウエー Sa02-vTsT)
2018/05/19(土) 02:38:49.87ID:FwiHY2dca >>703
たぶん言っても無駄な人だと思うけど、普通はViewをModelに依存させるように作るのであって
ModelをViewに依存させない(Modelの参照をViewが持ってはダメ)なのと同じ。
こんな基本が分からない奴が回答する側に回ってはダメだと思うw
たぶん言っても無駄な人だと思うけど、普通はViewをModelに依存させるように作るのであって
ModelをViewに依存させない(Modelの参照をViewが持ってはダメ)なのと同じ。
こんな基本が分からない奴が回答する側に回ってはダメだと思うw
705デフォルトの名無しさん (アウアウエー Sa02-vTsT)
2018/05/19(土) 02:40:16.65ID:FwiHY2dca706デフォルトの名無しさん (ブーイモ MMa1-mCTX)
2018/05/19(土) 02:40:41.00ID:6pEEqPiCM あと、仮に>>700の想定が正しいとするなら、抽象化すべきはクラスBではなくAの方でしょ
例えばAのデバイス依存部分だけをIDeviceインターフェイスとして切り出して委譲するとかね
Aにイベントを持たせるんだと、別のデバイスを監視するクラスCができたら
AのイベントとCのイベントをそれぞれ個別にイベントハンドリングしなきゃいけなくなる
ちゃんと頭使おうね
例えばAのデバイス依存部分だけをIDeviceインターフェイスとして切り出して委譲するとかね
Aにイベントを持たせるんだと、別のデバイスを監視するクラスCができたら
AのイベントとCのイベントをそれぞれ個別にイベントハンドリングしなきゃいけなくなる
ちゃんと頭使おうね
707デフォルトの名無しさん (ブーイモ MMa1-mCTX)
2018/05/19(土) 02:47:51.94ID:6pEEqPiCM >>705
揚げ足取るようで悪いけど、Viewの参照をModelが持つこと自体は何の問題もないよ
というか、そうしないとMからVへの変化通知が実現できない
イベントを使うにしても結局参照は持ってるよ
MVPといって、IViewのようなインターフェイスを通してMからVを呼ぶパターンもあるね
なるべく疎にしたいのは型同士の依存関係の話で、参照するのがダメなわけじゃない
揚げ足取るようで悪いけど、Viewの参照をModelが持つこと自体は何の問題もないよ
というか、そうしないとMからVへの変化通知が実現できない
イベントを使うにしても結局参照は持ってるよ
MVPといって、IViewのようなインターフェイスを通してMからVを呼ぶパターンもあるね
なるべく疎にしたいのは型同士の依存関係の話で、参照するのがダメなわけじゃない
708デフォルトの名無しさん (アウアウエー Sa02-vTsT)
2018/05/19(土) 02:58:10.85ID:FwiHY2dca709デフォルトの名無しさん (アウアウエー Sa02-vTsT)
2018/05/19(土) 03:03:16.45ID:FwiHY2dca まあ質問者の>>697に言うけど、実際書いてみれば
イベントで実装した方がずっとコンパクトかつ可読的に書けることが分かると思うよ。
Bが仮にAでしか利用しないクラスだとしても、普通はAはイベントを発行するだけ、
Bはそのイベントを受信して何か処理をする、ってやった方がずっと分かりやすい
イベントで実装した方がずっとコンパクトかつ可読的に書けることが分かると思うよ。
Bが仮にAでしか利用しないクラスだとしても、普通はAはイベントを発行するだけ、
Bはそのイベントを受信して何か処理をする、ってやった方がずっと分かりやすい
710デフォルトの名無しさん (アウアウウー Sa39-mCTX)
2018/05/19(土) 03:21:21.26ID:ZECHChrda メソッド一つだけならイベントでもいいけど、少なくとも>>697はメソッドが複数あるときもあると言ってるんだからイベントは不適切でしょ
インターフェイスで纏めたほうが扱いやすい
あえてそこにインターフェイスを噛ませる必要があるかどうかはYAGNIの問題だが、それとはまた別の観点の判断だ
インターフェイスで纏めたほうが扱いやすい
あえてそこにインターフェイスを噛ませる必要があるかどうかはYAGNIの問題だが、それとはまた別の観点の判断だ
711デフォルトの名無しさん (ワッチョイ 9dc3-NEzo)
2018/05/19(土) 06:03:27.91ID:uNgfR/HH0 プログラムで使用するテキストデータを、excelで管理しています
closecXMLを使ってアクセスしていて、これ自体は無事に実装できました
テストが一通り終わって、テキストデータも確定したので、データの散逸や
改ざんを防ぐために実行ファイルに埋め込みたいのですが、リソースとして
取り扱うことってできないでしょうか
具体的には、
workbook = new XLWorkbook(filename);
として開いているところがあるのですが、このfilenameにリソースファイルの
名前を当てることができないのか調べています
string filename = "Properties.Resources.textdata.xlsx";
としてアクセスできれば簡単だと思っていたのですが、そうはいきませんでした
closecXMLを使ってアクセスしていて、これ自体は無事に実装できました
テストが一通り終わって、テキストデータも確定したので、データの散逸や
改ざんを防ぐために実行ファイルに埋め込みたいのですが、リソースとして
取り扱うことってできないでしょうか
具体的には、
workbook = new XLWorkbook(filename);
として開いているところがあるのですが、このfilenameにリソースファイルの
名前を当てることができないのか調べています
string filename = "Properties.Resources.textdata.xlsx";
としてアクセスできれば簡単だと思っていたのですが、そうはいきませんでした
712デフォルトの名無しさん (ブーイモ MMfa-1jw3)
2018/05/19(土) 06:14:14.58ID:gOuRua2dM ユーザー定義リソースは何でも書けるよ。
713デフォルトの名無しさん (ワッチョイ 9dc3-NEzo)
2018/05/19(土) 06:37:08.02ID:uNgfR/HH0 具体的にどういう手順を踏めばよいのでしょう?
excelデータは1,000行以上あるので、取り込みではなく手入力が必要だと
ちょっと切ないです
でももう修正しないもの(修正するとしても部分的)ですから、機械的に
データを移行できるのであればそれでも問題ありません
excelデータは1,000行以上あるので、取り込みではなく手入力が必要だと
ちょっと切ないです
でももう修正しないもの(修正するとしても部分的)ですから、機械的に
データを移行できるのであればそれでも問題ありません
714デフォルトの名無しさん (ブーイモ MMfa-1jw3)
2018/05/19(土) 07:47:44.04ID:gOuRua2dM 静的に呼びだすなら5つのAPI
FindResource()
LoadResource()
SizeofResource()
LockResource()
FreeResource()
動的に更新するなら更に3つ
BeginUpdateResource()
EndUpdateResource()
UpdateResource()
FindResource()
LoadResource()
SizeofResource()
LockResource()
FreeResource()
動的に更新するなら更に3つ
BeginUpdateResource()
EndUpdateResource()
UpdateResource()
715デフォルトの名無しさん (ワントンキン MMea-wqAz)
2018/05/19(土) 07:53:26.18ID:z3BmCHYgM >>701
こういう奴が頻繁に現れるのを見るとYAGNIの罪は大きいなって思う
こういう奴が頻繁に現れるのを見るとYAGNIの罪は大きいなって思う
716デフォルトの名無しさん (ワッチョイ 5a1e-XbkE)
2018/05/19(土) 07:55:26.69ID:7BFPa/Jf0 別に複数でもそんな多くなければイベントでも問題ないんじゃねぇかな
717デフォルトの名無しさん (ワッチョイ 9dc3-NEzo)
2018/05/19(土) 08:03:52.08ID:uNgfR/HH0 >>714
ありがとうございます、それぞれのAPIについて調べてみます
ありがとうございます、それぞれのAPIについて調べてみます
718デフォルトの名無しさん (ワッチョイ 5a1e-XbkE)
2018/05/19(土) 08:13:32.92ID:7BFPa/Jf0 結局バランスの問題だな。もちろん人によってバランス違うけど。
イベントによって結果再利用性あがるけど、
>イベントで実装した方がずっとコンパクトかつ可読的に書けることが分かると思うよ。
の通り、可読性の観点からしてもイベントの方が分かりやすいと思う。
これぐらいもYAGNIとかいってるようじゃ、極端すぎてバランス感覚おかしいんじゃねぇかな。
イベントによって結果再利用性あがるけど、
>イベントで実装した方がずっとコンパクトかつ可読的に書けることが分かると思うよ。
の通り、可読性の観点からしてもイベントの方が分かりやすいと思う。
これぐらいもYAGNIとかいってるようじゃ、極端すぎてバランス感覚おかしいんじゃねぇかな。
719デフォルトの名無しさん (アウアウウー Sa39-mCTX)
2018/05/19(土) 09:36:48.03ID:ZECHChrda720デフォルトの名無しさん (ワッチョイ 7696-NEzo)
2018/05/19(土) 10:02:26.30ID:35k9lSzB0721デフォルトの名無しさん (アウアウカー Sa4d-5W05)
2018/05/19(土) 10:47:04.32ID:zmVeGZ3Ia >>697です
みなさん色々なご意見ありがとうございます
基本的にはイベント等で疎結合にしたクラス作りが望ましいが、ケースバイケースで状況に応じてどちらの実装でも問題はないといったところでしょうか
レスして頂いた内容は非常に参考になり、まさにその両者のいい分で自分もどちらが最適解なのか悩んでいましたが、結局状況を判断出来る私が決めて実装するしかないのかなと思いました
途中インターフェースをかましてすれば良いとのレスがありましたが、どういった実装をすればいいのか全くわかりませんでした。この方法でも検討してみたいので、すみませんが具体的な実装を教えて頂けないでしょうか
みなさん色々なご意見ありがとうございます
基本的にはイベント等で疎結合にしたクラス作りが望ましいが、ケースバイケースで状況に応じてどちらの実装でも問題はないといったところでしょうか
レスして頂いた内容は非常に参考になり、まさにその両者のいい分で自分もどちらが最適解なのか悩んでいましたが、結局状況を判断出来る私が決めて実装するしかないのかなと思いました
途中インターフェースをかましてすれば良いとのレスがありましたが、どういった実装をすればいいのか全くわかりませんでした。この方法でも検討してみたいので、すみませんが具体的な実装を教えて頂けないでしょうか
722デフォルトの名無しさん (アウアウウー Sa39-mCTX)
2018/05/19(土) 11:44:50.68ID:mNRmauI8a >>721
interface IAlert {
void Set(Severity severity);
void Unset();
}
たとえば、あるアラートに対してこういうインターフェイスを定義する
クラスAはこれをコンストラクタで受け取り、温度センサーの値が閾値を超えたら危険度に応じた引数でSetメソッドを呼ぶ
温度が低下して閾値を割ったらUnsetを呼んで解除する
このIAlertインターフェイスを、具体的な実装、たとえばパトランプを操作するクラスが実装するわけ
こうしておけば、
パトランプじゃなくて画面でアラート状態を表示したくなったときにAに手を入れずにIAlertを実装するだけで済む
もちろん、パトランプしか想定しなくていいなら直接パトランプクラスのメソッドを呼んでもいいし、Unsetが必要ないならイベントでもいいかもね
ただしイベントの場合はBからAへの密結合が発生するとか、それを避けるなら追加で橋渡しのコードが都度必要になるといった懸念点もある
interface IAlert {
void Set(Severity severity);
void Unset();
}
たとえば、あるアラートに対してこういうインターフェイスを定義する
クラスAはこれをコンストラクタで受け取り、温度センサーの値が閾値を超えたら危険度に応じた引数でSetメソッドを呼ぶ
温度が低下して閾値を割ったらUnsetを呼んで解除する
このIAlertインターフェイスを、具体的な実装、たとえばパトランプを操作するクラスが実装するわけ
こうしておけば、
パトランプじゃなくて画面でアラート状態を表示したくなったときにAに手を入れずにIAlertを実装するだけで済む
もちろん、パトランプしか想定しなくていいなら直接パトランプクラスのメソッドを呼んでもいいし、Unsetが必要ないならイベントでもいいかもね
ただしイベントの場合はBからAへの密結合が発生するとか、それを避けるなら追加で橋渡しのコードが都度必要になるといった懸念点もある
723デフォルトの名無しさん (ワッチョイ 7680-zp6D)
2018/05/19(土) 11:49:58.15ID:F9kKaYLV0 >>695
拡張メソッドでも定義すれば
拡張メソッドでも定義すれば
724デフォルトの名無しさん (アウアウカー Sa4d-5W05)
2018/05/19(土) 12:01:43.59ID:hl18fyg5a725デフォルトの名無しさん (ワッチョイ 7696-NEzo)
2018/05/19(土) 12:20:10.98ID:35k9lSzB0 BASICしか経験がないど素人がC#始めたんだけど、
クラス間の参照の受け渡しというのが難しいです・・・。
クラスの参照を配列に入れて、それを受け渡しするとか動くコードはなんとかかけてるんだけど、
自分で一体何をしているのか分からなくなる時がある。
クラス間の参照の受け渡しというのが難しいです・・・。
クラスの参照を配列に入れて、それを受け渡しするとか動くコードはなんとかかけてるんだけど、
自分で一体何をしているのか分からなくなる時がある。
726デフォルトの名無しさん (ワッチョイ 75eb-/w+O)
2018/05/19(土) 13:04:35.48ID:uWI+Vuzc0 >>725
真っ先に直さなきゃならないのは、「スコープの広い配列にインスタンスを入れておけば、どこからでも全てのデータにすぐにアクセスできていいじゃん!」と思っちゃう点でさあ
C#のスキルの無さから設計までメチャクチャにしてるんじゃないのかねえ
真っ先に直さなきゃならないのは、「スコープの広い配列にインスタンスを入れておけば、どこからでも全てのデータにすぐにアクセスできていいじゃん!」と思っちゃう点でさあ
C#のスキルの無さから設計までメチャクチャにしてるんじゃないのかねえ
727デフォルトの名無しさん (ワンミングク MMea-wqAz)
2018/05/19(土) 13:15:00.73ID:m/ZPa8pNM BASIC系って悪い習慣を覚えちゃうよね
特にVBAはひどい
特にVBAはひどい
728デフォルトの名無しさん (ワンミングク MMea-wqAz)
2018/05/19(土) 13:27:26.49ID:m/ZPa8pNM >>722
それだと温度センサーがアラートをコントロールしているように解釈される
常識的に考えてアラートのコントロールは温度センサーの仕事ではないだろう
これは名前の問題であってインターフェースよりイベントを使えと言ってるわけではない
それだと温度センサーがアラートをコントロールしているように解釈される
常識的に考えてアラートのコントロールは温度センサーの仕事ではないだろう
これは名前の問題であってインターフェースよりイベントを使えと言ってるわけではない
729デフォルトの名無しさん (ワッチョイ 7696-NEzo)
2018/05/19(土) 14:08:44.26ID:35k9lSzB0 >>726
その通りです。
すべての変数をどこからでもアクセスしたい衝動にかられます。
Aのクラスの機能がA1とA2に分化できるから分けようと思うと、
AはCを参照してたからA1とA2両方にCのインスタンス参照を渡そうとなり、
結局機能は分けれたものの、どのクラスがどのクラスを参照してるのかがよくわからなくなってきました。
その通りです。
すべての変数をどこからでもアクセスしたい衝動にかられます。
Aのクラスの機能がA1とA2に分化できるから分けようと思うと、
AはCを参照してたからA1とA2両方にCのインスタンス参照を渡そうとなり、
結局機能は分けれたものの、どのクラスがどのクラスを参照してるのかがよくわからなくなってきました。
730デフォルトの名無しさん (ワッチョイ 7696-NEzo)
2018/05/19(土) 14:11:58.71ID:35k9lSzB0 値1、2個を渡すのは簡単なんですけど、
クラスのインスタンスを100個つくるためにその参照を配列にいれる
参照の入った配列をreturnで返す
とかしてるとなんの値をいじってるのかわけわかめです。
これまで値と参照の区別をして思考してこなかったからなのかなぁ。
クラスのインスタンスを100個つくるためにその参照を配列にいれる
参照の入った配列をreturnで返す
とかしてるとなんの値をいじってるのかわけわかめです。
これまで値と参照の区別をして思考してこなかったからなのかなぁ。
731デフォルトの名無しさん (ワンミングク MMea-wqAz)
2018/05/19(土) 14:31:05.11ID:m/ZPa8pNM >>730
オブジェクト指向で参照を共有することは少ない
共有するとしてもイミュータブル、ステートレスにして共有によるデメリットを消した上で共有する
長時間生存するインスタンスがあちこち参照しあって状態を刻々と変化させていくような設計が最悪のパターン
オブジェクト指向で参照を共有することは少ない
共有するとしてもイミュータブル、ステートレスにして共有によるデメリットを消した上で共有する
長時間生存するインスタンスがあちこち参照しあって状態を刻々と変化させていくような設計が最悪のパターン
732デフォルトの名無しさん (ワッチョイ 5a1e-XbkE)
2018/05/19(土) 15:29:17.89ID:7BFPa/Jf0733デフォルトの名無しさん (ワッチョイ 7681-0XvN)
2018/05/19(土) 16:13:13.77ID:t/qQFhE80 休みだってのに暇な奴ら
734デフォルトの名無しさん (ワッチョイ 7696-NEzo)
2018/05/19(土) 16:13:20.90ID:35k9lSzB0 >>731
なるほどCを参照しているA1、A2はCと独立したオブジェクトじゃなくなってしまいますものね。
なるほどCを参照しているA1、A2はCと独立したオブジェクトじゃなくなってしまいますものね。
735デフォルトの名無しさん (ワッチョイ 7696-NEzo)
2018/05/19(土) 16:20:14.69ID:35k9lSzB0 Target[] target = new Target[Constants.MaximumNumberOfTarget];
public Target[] InitializeTarget()
{
for (int i = 0; i < Constants.MaximumNumberOfTarget; i++)
{
target[i] = new Target();
target[i].x = 100;
target[i].y = 100;
}
}
こういうふうにForm1のクラスでターゲットの座標100個発生させて表示させます。
public Target[] InitializeTarget()
{
for (int i = 0; i < Constants.MaximumNumberOfTarget; i++)
{
target[i] = new Target();
target[i].x = 100;
target[i].y = 100;
}
}
こういうふうにForm1のクラスでターゲットの座標100個発生させて表示させます。
736デフォルトの名無しさん (ワッチョイ 7696-NEzo)
2018/05/19(土) 16:23:28.77ID:35k9lSzB0 ターゲットをクリック出来たら消す
一定時間クリックできなかったら点滅させる
ゲーム終了後にターゲットの座標をテキストファイルに書き出す
などの処理がすべてForm1上に存在することになるのですが、
それでもいいのでしょうか?
これらの作業を無理にクラスに分けようとすると
ターゲットクラスインスタンスの参照100個を渡さなくてはいけなくなります。
一定時間クリックできなかったら点滅させる
ゲーム終了後にターゲットの座標をテキストファイルに書き出す
などの処理がすべてForm1上に存在することになるのですが、
それでもいいのでしょうか?
これらの作業を無理にクラスに分けようとすると
ターゲットクラスインスタンスの参照100個を渡さなくてはいけなくなります。
737デフォルトの名無しさん (ワッチョイ 91e3-/zvX)
2018/05/19(土) 16:41:59.05ID:H4w+h7ji0 そんなミニゲームどう組んだっていいよ
738デフォルトの名無しさん (ワッチョイ 559a-NEzo)
2018/05/19(土) 16:44:12.66ID:5aQMcYYW0739デフォルトの名無しさん (ワッチョイ 75eb-/w+O)
2018/05/19(土) 16:55:29.90ID:uWI+Vuzc0 どうせこの人は一生治んないよ
ただプログラムなんてちゃんと動けば目的達成できるんだし、まあ、これでも良いんじゃないの
ただプログラムなんてちゃんと動けば目的達成できるんだし、まあ、これでも良いんじゃないの
740デフォルトの名無しさん (アウアウウー Sa39-HRP5)
2018/05/19(土) 16:56:47.37ID:F+BrwfqWa listやdictionaryを使ってないのかな
だったらまだそのアプリを作る段階まで届いてない
だったらまだそのアプリを作る段階まで届いてない
741デフォルトの名無しさん (ワッチョイ 5ad2-PioB)
2018/05/19(土) 17:10:27.25ID:UwdEx54W0 まあ普通はエンジン部分だけ切り離すわな
742デフォルトの名無しさん (ワッチョイ 7696-NEzo)
2018/05/19(土) 17:20:42.40ID:35k9lSzB0 target class
にx,y,timeなどメンバ変数7個程度を入れてます。
このターゲットを表示するためForm1上にクラスのインスタンスを参照する配列を置くと、
表示とゲームのコントロールすべてがForm1上におくことになって見苦しいのかと思いました。
でもテトリスとか他のミニゲームみても同じような設計になってるんですね。
無理して別クラスにするよりもtargetクラスの配列に関連した、表示、ゲーム処理はForm1上に置いてみます。
(というか実際に配列を別クラスに切り分けたら、余計読みづらくなった・・・)
にx,y,timeなどメンバ変数7個程度を入れてます。
このターゲットを表示するためForm1上にクラスのインスタンスを参照する配列を置くと、
表示とゲームのコントロールすべてがForm1上におくことになって見苦しいのかと思いました。
でもテトリスとか他のミニゲームみても同じような設計になってるんですね。
無理して別クラスにするよりもtargetクラスの配列に関連した、表示、ゲーム処理はForm1上に置いてみます。
(というか実際に配列を別クラスに切り分けたら、余計読みづらくなった・・・)
743デフォルトの名無しさん (ワッチョイ 7696-NEzo)
2018/05/19(土) 17:22:57.84ID:35k9lSzB0744デフォルトの名無しさん (ワッチョイ 7696-NEzo)
2018/05/19(土) 17:23:58.19ID:35k9lSzB0745デフォルトの名無しさん (ワッチョイ 469f-gO2p)
2018/05/19(土) 17:27:35.68ID:9OoA3M8l0 >>736
何故そのような結論になるかわからない提示された仕様からだとテキスト出力クラスを作ろうって気になるかな
targetの渡し方はコンストラクタやメソッド引数にするかは自由
Hoge hoge = new Hoge();
bool Output(){
hoge.Set(target);
return hoge.Output();
}
何故そのような結論になるかわからない提示された仕様からだとテキスト出力クラスを作ろうって気になるかな
targetの渡し方はコンストラクタやメソッド引数にするかは自由
Hoge hoge = new Hoge();
bool Output(){
hoge.Set(target);
return hoge.Output();
}
746デフォルトの名無しさん (ワンミングク MMea-wqAz)
2018/05/19(土) 17:28:05.32ID:m/ZPa8pNM747デフォルトの名無しさん (ワッチョイ 7681-0hVM)
2018/05/19(土) 17:30:56.31ID:TbcarOIZ0 >>729
貴様にはpublicを禁止する呪いを掛ける
貴様にはpublicを禁止する呪いを掛ける
748デフォルトの名無しさん (ワンミングク MMea-wqAz)
2018/05/19(土) 17:45:50.05ID:m/ZPa8pNM それは呪いではなく祝福であった
749デフォルトの名無しさん (アウアウウー Sa39-HRP5)
2018/05/19(土) 17:52:30.85ID:F+BrwfqWa そしてinternalを使い始めた!
ゴミグラマの出来上がり
ゴミグラマの出来上がり
750デフォルトの名無しさん (ワッチョイ 4103-y+IU)
2018/05/19(土) 18:14:06.88ID:RoboUWmL0 と、すでに出来あがったゴミグラマが申しておるようですが
751デフォルトの名無しさん (ワッチョイ 7696-NEzo)
2018/05/19(土) 18:20:19.09ID:35k9lSzB0 >>746
はい。
それやってみたのですが、フォーム2から初期設定値を初期値格納クラスに入れていて、
初期値格納クラスの参照、Targetクラスの参照、Targetクラス管理クラスの参照が入り乱れて書いている自分でもわけわかめになりました。
二つのプログラムを見比べた結果Form1でTarget管理させたほうがまだましなのかと・・・。
もっと規模の大きなプログラムだと違ってくるのかもしれないのですが。
はい。
それやってみたのですが、フォーム2から初期設定値を初期値格納クラスに入れていて、
初期値格納クラスの参照、Targetクラスの参照、Targetクラス管理クラスの参照が入り乱れて書いている自分でもわけわかめになりました。
二つのプログラムを見比べた結果Form1でTarget管理させたほうがまだましなのかと・・・。
もっと規模の大きなプログラムだと違ってくるのかもしれないのですが。
752デフォルトの名無しさん (ワッチョイ 91e3-/zvX)
2018/05/19(土) 18:39:40.28ID:H4w+h7ji0753デフォルトの名無しさん (ワンミングク MMea-wqAz)
2018/05/19(土) 18:44:17.10ID:m/ZPa8pNM >>751
入り乱れないよ
入り乱れないよ
754デフォルトの名無しさん (ワッチョイ 7681-0XvN)
2018/05/19(土) 18:44:51.84ID:t/qQFhE80 素人が責務に応じたクラスの分割を理解するなんて
一朝一夕どころか数ヶ月単位の時間が掛かると思うが、このやり取りそこまで続けるの?
一朝一夕どころか数ヶ月単位の時間が掛かると思うが、このやり取りそこまで続けるの?
755デフォルトの名無しさん (ワッチョイ 4103-y+IU)
2018/05/19(土) 18:46:55.05ID:RoboUWmL0756デフォルトの名無しさん (ワンミングク MMea-wqAz)
2018/05/19(土) 18:48:37.83ID:m/ZPa8pNM >>754
理解しやすい構造になるわけだから素人も安心
理解しやすい構造になるわけだから素人も安心
757デフォルトの名無しさん (ワッチョイ 7681-0XvN)
2018/05/19(土) 18:49:08.43ID:t/qQFhE80 >>755
猿には聞いてねえから飼育員さんとママゴトしてな
猿には聞いてねえから飼育員さんとママゴトしてな
758デフォルトの名無しさん (ワッチョイ 7681-0XvN)
2018/05/19(土) 18:51:06.08ID:t/qQFhE80759デフォルトの名無しさん (ワッチョイ 4103-y+IU)
2018/05/19(土) 18:54:14.32ID:RoboUWmL0 バカ、スレ潰し宣言wwwww
これはさすがの俺も意表をつかれた度と超えたバカwwwww
これはさすがの俺も意表をつかれた度と超えたバカwwwww
760デフォルトの名無しさん (ブーイモ MMa1-+Nwo)
2018/05/19(土) 20:59:50.70ID:gCADl0W/M C#のスレだと思ったのに。
761デフォルトの名無しさん (ワッチョイ 7696-NEzo)
2018/05/19(土) 21:13:55.60ID:35k9lSzB0 リストボックスの値を取得するのって
string Gender = this.Gender.SelectedItem.ToString();
の一文だけじゃだめなの?
なぜか値が取得できない。
string Gender = this.Gender.SelectedItem.ToString();
の一文だけじゃだめなの?
なぜか値が取得できない。
762デフォルトの名無しさん (アウアウウー Sa39-RYnA)
2018/05/19(土) 21:17:27.89ID:BEl4Etk9a あたまがくらくらする
763デフォルトの名無しさん (ワッチョイ 769a-NEzo)
2018/05/19(土) 21:28:02.54ID:sYzD4mGA0 >>761
まず「Gender」が2つ出てくることに違和感はないのか
ListBoxは使ったことないけど
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.listbox.selecteditem(v=vs.110).aspx
string GenderStr = this.Gender.SelectedItem.ToString();
にでも変えれば動かないか?
まず「Gender」が2つ出てくることに違和感はないのか
ListBoxは使ったことないけど
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.listbox.selecteditem(v=vs.110).aspx
string GenderStr = this.Gender.SelectedItem.ToString();
にでも変えれば動かないか?
764デフォルトの名無しさん (ワッチョイ 7696-NEzo)
2018/05/19(土) 21:30:21.29ID:35k9lSzB0765デフォルトの名無しさん (ワッチョイ 7696-NEzo)
2018/05/19(土) 21:32:29.68ID:35k9lSzB0 >>763
すいません。
ご親切にありがとうございます。
値を出力するクラスにwriteline書き忘れてました・・・。
値の取得は上のコードでOKでした。
朝から一日プログラミングして悪い頭が限界を超えているようです。
今日はもう寝ます。
すいません。
ご親切にありがとうございます。
値を出力するクラスにwriteline書き忘れてました・・・。
値の取得は上のコードでOKでした。
朝から一日プログラミングして悪い頭が限界を超えているようです。
今日はもう寝ます。
766デフォルトの名無しさん (ワッチョイ 4103-y+IU)
2018/05/19(土) 21:34:12.28ID:RoboUWmL0 教えたがりのバカ>>763の立場wwww
767デフォルトの名無しさん (ワッチョイ 9dc3-NEzo)
2018/05/20(日) 16:52:01.54ID:O/HF5kqh0 >>714
いろいろ調べてみましたが、私が探している解決策とは異なったようです
一番知りたいのは、埋め込みリソースに対し、通常のファイルアクセスのように
アクセスする方法はないのか、という点です
(XLWorkbookのコンストラクタには、ファイルパスを与えますので)
今回のデータは参照のみ必要ですので、リソースとして埋め込んだ場合に
変更が効かなくなっても問題ないと考えました
712で書かれた内容は、「自分でファイルフォーマットを定義して、それを読んで
切り貼りするコードを自分で書くべし」、ということでしょうか
そのために有用なのが714のAPIということですか
いろいろ調べてみましたが、私が探している解決策とは異なったようです
一番知りたいのは、埋め込みリソースに対し、通常のファイルアクセスのように
アクセスする方法はないのか、という点です
(XLWorkbookのコンストラクタには、ファイルパスを与えますので)
今回のデータは参照のみ必要ですので、リソースとして埋め込んだ場合に
変更が効かなくなっても問題ないと考えました
712で書かれた内容は、「自分でファイルフォーマットを定義して、それを読んで
切り貼りするコードを自分で書くべし」、ということでしょうか
そのために有用なのが714のAPIということですか
768デフォルトの名無しさん (ワンミングク MMea-wqAz)
2018/05/20(日) 18:41:56.82ID:9fk8EC6VM ないよ
一回テンポラリファイルに出力すればいい
使いたいライブラリがストリームを受け取るバージョンをサポートしてるならそっちを使ってテンポラリファイルは要らない
一回テンポラリファイルに出力すればいい
使いたいライブラリがストリームを受け取るバージョンをサポートしてるならそっちを使ってテンポラリファイルは要らない
769デフォルトの名無しさん (ワッチョイ 91e3-/zvX)
2018/05/20(日) 19:32:08.73ID:QOdmSKaj0770デフォルトの名無しさん (ワッチョイ 9dc3-NEzo)
2018/05/20(日) 19:59:07.95ID:O/HF5kqh0771デフォルトの名無しさん (ワッチョイ aa9d-/w+O)
2018/05/21(月) 08:06:02.24ID:yxdsvVjy0 Json保存すると漢字が化ける。なぜばけるの? Jsonの問題なのか、StrreamReader
の問題なのか、StrreamWriterのもんだいなのか? 取り合えず、Read、Writeともに
shift_jisでEncode指定したら化けないようになったが、意味がよくわからない。
普通に考えるとStringにShift_JIsが入っていて、それを認識しているなら、Read
WirteにShift_jisを指定する必要はないと思うのだ。だからStringにはそういう情報は
入ってない筈だ。ファイルにSHiftJIsの属性がはいっているなら、Write側だけに指定
すればよいはずだ。ReadにもSHIFT_JISを指定しなければならないということはファイルにも
その属性は保存されていないということだ。Stringに属性を保存しておけばすべて丸く
収まるとおもうのだが、なぜそうしないのだろうか?
の問題なのか、StrreamWriterのもんだいなのか? 取り合えず、Read、Writeともに
shift_jisでEncode指定したら化けないようになったが、意味がよくわからない。
普通に考えるとStringにShift_JIsが入っていて、それを認識しているなら、Read
WirteにShift_jisを指定する必要はないと思うのだ。だからStringにはそういう情報は
入ってない筈だ。ファイルにSHiftJIsの属性がはいっているなら、Write側だけに指定
すればよいはずだ。ReadにもSHIFT_JISを指定しなければならないということはファイルにも
その属性は保存されていないということだ。Stringに属性を保存しておけばすべて丸く
収まるとおもうのだが、なぜそうしないのだろうか?
772デフォルトの名無しさん (アウアウウー Sa39-NTEn)
2018/05/21(月) 09:30:17.64ID:HN6x0Zrba 文字列の実装には内部的にUnicodeで扱うものとバイト列として扱うものとがある。
前者は入出力時にそれぞれバイト列->UnicodeとUnicode->バイト列をどのようにマッピングするか(i.e. エンコーディング)を指定する必要がある。
後者であればその必要はない。
一方で前者は外部から文字列を読み込んでも内部的にはUnicodeだから読み込んだ文字列に対して処理を行う際に文字コードに悩む必要はない。
後者はプログラムを書いている時の文字コード, 入力された文字コードを常に意識せねばならん。
一長一短だからどっちの実装もあり得るが.NETは内部Unicodeが標準的だということだ
文字列自身に自分のエンコーディング情報を埋め込むのはやめておけ
禄でもないことにしかならん
前者は入出力時にそれぞれバイト列->UnicodeとUnicode->バイト列をどのようにマッピングするか(i.e. エンコーディング)を指定する必要がある。
後者であればその必要はない。
一方で前者は外部から文字列を読み込んでも内部的にはUnicodeだから読み込んだ文字列に対して処理を行う際に文字コードに悩む必要はない。
後者はプログラムを書いている時の文字コード, 入力された文字コードを常に意識せねばならん。
一長一短だからどっちの実装もあり得るが.NETは内部Unicodeが標準的だということだ
文字列自身に自分のエンコーディング情報を埋め込むのはやめておけ
禄でもないことにしかならん
773デフォルトの名無しさん (ワッチョイ 899e-S6G8)
2018/05/21(月) 10:54:12.62ID:wG0UA8oX0 JSON はJavaScript だから、UTF-8
Ruby, Python もそう。
ネット上に流れるテキストも同じ
SHIFT_JIS を使う言語は、まずない。
PowerShell も、UTF-16
ここ数年は、Unicode に統一された。
それ以外の、SHIFT_JIS, EUC-JP は使わない
Ruby, Python もそう。
ネット上に流れるテキストも同じ
SHIFT_JIS を使う言語は、まずない。
PowerShell も、UTF-16
ここ数年は、Unicode に統一された。
それ以外の、SHIFT_JIS, EUC-JP は使わない
774デフォルトの名無しさん (ブーイモ MMa1-mCTX)
2018/05/21(月) 12:22:48.67ID:ZMitaTGGM >>773
何言っても通じないとは思うが、お前の愛するRubyの文字列の扱いは他と異なっている
Rubyの文字列は内部的にはエンコーディング情報を持ったバイト列だ
特にWin環境では非常にトラブルの原因になりやすいゴミ仕様である
何言っても通じないとは思うが、お前の愛するRubyの文字列の扱いは他と異なっている
Rubyの文字列は内部的にはエンコーディング情報を持ったバイト列だ
特にWin環境では非常にトラブルの原因になりやすいゴミ仕様である
775デフォルトの名無しさん (ワッチョイ 899e-S6G8)
2018/05/21(月) 12:34:00.26ID:wG0UA8oX0 Ruby は各文字列に、エンコードを持てるから、すごい
例えば、文字列a がSHIFT_JIS で、b がUTF-8 として、
a + b
みたいに、文字列を連結すると、エンコードエラーになる
例えば、文字列a がSHIFT_JIS で、b がUTF-8 として、
a + b
みたいに、文字列を連結すると、エンコードエラーになる
776デフォルトの名無しさん (ブーイモ MMa1-mCTX)
2018/05/21(月) 12:36:23.24ID:ZMitaTGGM >>775
うん。何一つメリットのないカス仕様だね。
うん。何一つメリットのないカス仕様だね。
777デフォルトの名無しさん (ワキゲー MM42-wBtv)
2018/05/21(月) 12:50:56.22ID:0W5b/XyUM >>770
ClosedXML.Excel.XLWorkbookコンストラクタにはStream取るのもあるんだけど
ClosedXML.Excel.XLWorkbookコンストラクタにはStream取るのもあるんだけど
778デフォルトの名無しさん (ワッチョイ aa9d-/w+O)
2018/05/21(月) 13:22:41.39ID:yxdsvVjy0 >SHIFT_JIS を使う言語は、まずない。
エクセルファイルをCSVにEportしたファイルだけど、
var sr = new StreamReader(fs, Encoding.GetEncoding("shift_jis"))
これでなら正常に読める。ということはエクセルはshift_jisだと思うが、、
エクセルファイルをCSVにEportしたファイルだけど、
var sr = new StreamReader(fs, Encoding.GetEncoding("shift_jis"))
これでなら正常に読める。ということはエクセルはshift_jisだと思うが、、
779デフォルトの名無しさん (ラクッペ MMa5-0XvN)
2018/05/21(月) 14:04:00.83ID:hRf5uVYXM とりあえずそのRubyアスペに触るのを止めて
780デフォルトの名無しさん (ワッチョイ aa9d-/w+O)
2018/05/21(月) 15:12:20.28ID:yxdsvVjy0 >一方で前者は外部から文字列を読み込んでも内部的にはUnicodeだから読み込んだ文字列に対して処理を行う際に文字コードに悩む必要はない。
>後者はプログラムを書いている時の文字コード, 入力された文字コードを常に意識せねばならん。
前者はDefault unicode
後者はDefault bytecode
ということであれば、shift_jisなど他にもたくさんの文字コードが来る可能性があるのだから、コードを意識することにあまり違いはない
と思うが、、
>>775
その考え方の方が正しいと思う。
そもそもunicoeをディフォールトにするんだったら、漢字はそのまま表示できるんじゃないの?
其れなのにXcelは何でわざわざSHIFT_JISをつかうんだろ。
>後者はプログラムを書いている時の文字コード, 入力された文字コードを常に意識せねばならん。
前者はDefault unicode
後者はDefault bytecode
ということであれば、shift_jisなど他にもたくさんの文字コードが来る可能性があるのだから、コードを意識することにあまり違いはない
と思うが、、
>>775
その考え方の方が正しいと思う。
そもそもunicoeをディフォールトにするんだったら、漢字はそのまま表示できるんじゃないの?
其れなのにXcelは何でわざわざSHIFT_JISをつかうんだろ。
781デフォルトの名無しさん (ワッチョイ 899e-S6G8)
2018/05/21(月) 15:24:30.40ID:wG0UA8oX0 Windows も内部的には、UTF-16 だろ。
PowerShell, ブラウザも、UTF-8
保守費用が掛かるから、MS も、SHIFT_JIS を辞めたいはず
Excel など、長年使っている人が多いから、やめられないだけ
PowerShell, ブラウザも、UTF-8
保守費用が掛かるから、MS も、SHIFT_JIS を辞めたいはず
Excel など、長年使っている人が多いから、やめられないだけ
782デフォルトの名無しさん (アウアウウー Sa39-mCTX)
2018/05/21(月) 15:43:54.89ID:s3jYOwAha >>780
Stringのエンコーディングが固定なら、IOのときだけ文字コードを意識すれば済む
素人のちょっとしたツールのレベルならともかく、一般的にはIとOの間(P)の部分がプログラムの殆どを占めるんだよ
Dictionaryのキーの文字コードが混在してて、存在するはずのキーの検索に失敗するとか悪夢だろ
Stringのエンコーディングが固定なら、IOのときだけ文字コードを意識すれば済む
素人のちょっとしたツールのレベルならともかく、一般的にはIとOの間(P)の部分がプログラムの殆どを占めるんだよ
Dictionaryのキーの文字コードが混在してて、存在するはずのキーの検索に失敗するとか悪夢だろ
783デフォルトの名無しさん (オイコラミネオ MM7e-4Ee6)
2018/05/21(月) 21:17:05.23ID:83cG7/bYM ビルドしても、ファイルできなくて意味わかんねえ
784デフォルトの名無しさん (ワッチョイ 55da-XbkE)
2018/05/21(月) 22:02:39.74ID:o82N7H0r0785デフォルトの名無しさん (アウアウウー Sa39-HRP5)
2018/05/21(月) 22:04:28.66ID:ZCJ7EsPBa 漢字が文字化けするのは保存した文字コードと読み込んだ文字コード指定が違うから
それだけ
つまりやった側の間違い
どこで間違えたか手順を順に見直すべし
それだけ
つまりやった側の間違い
どこで間違えたか手順を順に見直すべし
786デフォルトの名無しさん (ワッチョイ 4103-y+IU)
2018/05/21(月) 22:11:44.14ID:KnpxsRSU0 やった側ってどの側だよw
787デフォルトの名無しさん (ワッチョイ 898a-6aKC)
2018/05/22(火) 00:01:50.29ID:1gACj0o60 sqliteとの連携に関して質問です
なんらかのクライアントで先にテーブルを作り、レコードもinsertしておいて、それを読み込むプログラムを作りたいのですが、既存のdbファイルはどこに配置すればよいのでしょうか
デバッグしてみたらno such tableと言うようなエラーが出たので、どうやら実行時に新たにdbファイルを作ってそれを読もうとしてしまっているようです
なんらかのクライアントで先にテーブルを作り、レコードもinsertしておいて、それを読み込むプログラムを作りたいのですが、既存のdbファイルはどこに配置すればよいのでしょうか
デバッグしてみたらno such tableと言うようなエラーが出たので、どうやら実行時に新たにdbファイルを作ってそれを読もうとしてしまっているようです
788デフォルトの名無しさん (アウアウウー Sa39-mCTX)
2018/05/22(火) 00:20:52.78ID:V2R/cizEa >>787
どこもクソも決めるのはお前
SQLiteはDBのファイルパス指定して開けるだろ
SQLiteは普通のDBMSと違って、システムのどこかに共通のデータストアがあるみたいな考え方をしないんだよ
ファイルを名指しするのが基本
どこもクソも決めるのはお前
SQLiteはDBのファイルパス指定して開けるだろ
SQLiteは普通のDBMSと違って、システムのどこかに共通のデータストアがあるみたいな考え方をしないんだよ
ファイルを名指しするのが基本
789デフォルトの名無しさん (ブーイモ MMa1-+Nwo)
2018/05/22(火) 03:32:12.88ID:MRvdbbs3M Accessのmdbみたいな感じかいな?
790デフォルトの名無しさん (ワッチョイ ae9d-/w+O)
2018/05/22(火) 06:38:16.66ID:GCRmPVlZ0 >>785
「文字コードなんて意識する必要はない。機械に任せたほうがいい。」とは考えないのだろうか?
そもそもテキストとは文字コードによって表現された文字の集合体だ。テキストを保存するIOに
たいしてわざわざ文字コードの情報を削除して保存するのは何故なのだ。正気の沙汰とは思えんな。
「文字コードなんて意識する必要はない。機械に任せたほうがいい。」とは考えないのだろうか?
そもそもテキストとは文字コードによって表現された文字の集合体だ。テキストを保存するIOに
たいしてわざわざ文字コードの情報を削除して保存するのは何故なのだ。正気の沙汰とは思えんな。
791デフォルトの名無しさん (ワッチョイ ae9d-/w+O)
2018/05/22(火) 06:43:45.86ID:GCRmPVlZ0 >Dictionaryのキーの文字コードが混在してて、存在するはずのキーの検索に失敗するとか悪夢だろ
文字コードなんて本質的なことじゃない。だから混在してもかまわない。
それを人手でやろうとするから「混在する悪夢」が発生する。
そういう場合にこそ機械に自動的にやらせるべきだろう。
文字コードなんて本質的なことじゃない。だから混在してもかまわない。
それを人手でやろうとするから「混在する悪夢」が発生する。
そういう場合にこそ機械に自動的にやらせるべきだろう。
792デフォルトの名無しさん (ワッチョイ ae9d-/w+O)
2018/05/22(火) 06:51:24.64ID:GCRmPVlZ0 >日本語版のExcelのCSV出力時の文字コードがShiftJISなのは単に過去との互換性のため。
>ちなみにBOMが付いていればUTFのCSVでも読み込める。
互換性のためならもっとほかの方法がある。アプリのためにコードを弄るなんて最悪の方法だろう。
>ちなみにBOMが付いていればUTFのCSVでも読み込める。
互換性のためならもっとほかの方法がある。アプリのためにコードを弄るなんて最悪の方法だろう。
793デフォルトの名無しさん (スップ Sdda-6aKC)
2018/05/22(火) 07:58:03.61ID:j6MjsmBId >>788
あざすぅ
あざすぅ
794デフォルトの名無しさん (ワッチョイ fac3-adpQ)
2018/05/22(火) 09:20:46.86ID:uYoKmc1Q0 ここにきて.NET CoreがWPF, Windows Formsを救済ってか
795デフォルトの名無しさん (ブーイモ MMa1-RYnA)
2018/05/22(火) 09:31:30.78ID:7LgkrdmnM796デフォルトの名無しさん (ワッチョイ 7696-NEzo)
2018/05/22(火) 10:37:32.58ID:svO22mue0 public double Re { get; set; }
ってプロパティを省略して書くと見やすくていいんですが、
他クラスから参照するだけの変数だと、
Reは使用されていませんって警告がずっと出てうっとうしい。
何かいい手はないでしょうか?
ってプロパティを省略して書くと見やすくていいんですが、
他クラスから参照するだけの変数だと、
Reは使用されていませんって警告がずっと出てうっとうしい。
何かいい手はないでしょうか?
797デフォルトの名無しさん (アウアウウー Sa39-NTEn)
2018/05/22(火) 10:37:46.91ID:np9ncSKga 別に文字列を文字セット/エンコーディングごと抽象化するライブラリとか作ってくれて良いのよ?
既存文字列と互換性があって使い勝手, 拡張性と統一性と性能が担保されるなら普及もするだろう
でも曲がりなりにもそれ続けられてるのってRubyくらいで他に思い浮かばない
なんで無いのかと言うけど試されてないわけないんだよ, 現実的じゃないから普及してない
既存文字列と互換性があって使い勝手, 拡張性と統一性と性能が担保されるなら普及もするだろう
でも曲がりなりにもそれ続けられてるのってRubyくらいで他に思い浮かばない
なんで無いのかと言うけど試されてないわけないんだよ, 現実的じゃないから普及してない
798デフォルトの名無しさん (ワッチョイ 91e3-HRP5)
2018/05/22(火) 10:58:36.99ID:sxJmXMb80■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】 アメリカ議会 「中国が台湾武力侵攻する準備を急速進展中」 [お断り★]
- 「二枚舌は許されない」中国外務省 高市総理の発言を批判… [BFU★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★8 [樽悶★]
- 中国国際航空が日本便を減便へ、春節休みも SNSでは投稿相次ぐ [七波羅探題★]
- 【速報】公然わいせつの疑いで逮捕・送検・略式起訴のAぇ! group 草間リチャード敬太メンバー 脱退を発表 「心の病の療養」に専念 [Ailuropoda melanoleuca★]
- 小野田紀美 経済安保相「悪いことをする外国人、日本にいない状況つくる」 [Hitzeschleier★]
- 【実況】博衣こよりのえちえちお子様ランチ🛸💜🥀🧪🍃
- 【画像】中国軍、高市早苗の新作画像を公開wwwwwwwwww [834922174]
- 【悲報】高市有事、中国から追加の報復措置が来る模様 [834922174]
- 恐ろしい😈のちゅちょちゅちょ・ちぇびるのお🏡
- 世間はすでに興味を失った「高市台湾発言」でここが一生盛り上がってる理由、誰にもわからない [339315852]
- 奈良高専「ぼくらは、ほんとに負けたんでしょうか…」ロボコンで旭川1up周回作戦に敗北、涙ながらに語る。奈良OBからも疑問の声 [776365898]
