ふらっと 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/19(土) 17:22:57.84ID:35k9lSzB0
>>738
縛りはなかったのですが、見やすいコードということを考えすぎてました。
まずは動くコード書いて、人の書いたプログラムも見ながら勉強していきます。
2018/05/19(土) 17:23:58.19ID:35k9lSzB0
>>740
最初Dictionay使うつもりだったのですが、
構造体かクラスに変数をまとめたほうがよさそうだったので今の形になりました。
2018/05/19(土) 17:27:35.68ID:9OoA3M8l0
>>736
何故そのような結論になるかわからない提示された仕様からだとテキスト出力クラスを作ろうって気になるかな
targetの渡し方はコンストラクタやメソッド引数にするかは自由

Hoge hoge = new Hoge();
bool Output(){
hoge.Set(target);
return hoge.Output();
}
2018/05/19(土) 17:28:05.32ID:m/ZPa8pNM
>>742
複数のTargetを管理する専用のクラスを書くんだよ
Formが全てのTargetを管理するのはオーバーワークだろ
2018/05/19(土) 17:30:56.31ID:TbcarOIZ0
>>729
貴様にはpublicを禁止する呪いを掛ける
2018/05/19(土) 17:45:50.05ID:m/ZPa8pNM
それは呪いではなく祝福であった
2018/05/19(土) 17:52:30.85ID:F+BrwfqWa
そしてinternalを使い始めた!

ゴミグラマの出来上がり
750デフォルトの名無しさん (ワッチョイ 4103-y+IU)
垢版 |
2018/05/19(土) 18:14:06.88ID:RoboUWmL0
と、すでに出来あがったゴミグラマが申しておるようですが
2018/05/19(土) 18:20:19.09ID:35k9lSzB0
>>746
はい。
それやってみたのですが、フォーム2から初期設定値を初期値格納クラスに入れていて、
初期値格納クラスの参照、Targetクラスの参照、Targetクラス管理クラスの参照が入り乱れて書いている自分でもわけわかめになりました。
二つのプログラムを見比べた結果Form1でTarget管理させたほうがまだましなのかと・・・。

もっと規模の大きなプログラムだと違ってくるのかもしれないのですが。
2018/05/19(土) 18:39:40.28ID:H4w+h7ji0
>>751
小さいの組み合わせてでかいの作るんだから
でかいと組み方が変わるなんて言ってるやつは
そもそも下手クソなんだよ
2018/05/19(土) 18:44:17.10ID:m/ZPa8pNM
>>751
入り乱れないよ
2018/05/19(土) 18:44:51.84ID:t/qQFhE80
素人が責務に応じたクラスの分割を理解するなんて
一朝一夕どころか数ヶ月単位の時間が掛かると思うが、このやり取りそこまで続けるの?
755デフォルトの名無しさん (ワッチョイ 4103-y+IU)
垢版 |
2018/05/19(土) 18:46:55.05ID:RoboUWmL0
>>754
素人でも初心者でもわかる奴は最初からわかってるけど?
むしろ数ヶ月も時間をかけてわかって気になってるおまえが何もわかってないよ
2018/05/19(土) 18:48:37.83ID:m/ZPa8pNM
>>754
理解しやすい構造になるわけだから素人も安心
2018/05/19(土) 18:49:08.43ID:t/qQFhE80
>>755
猿には聞いてねえから飼育員さんとママゴトしてな
2018/05/19(土) 18:51:06.08ID:t/qQFhE80
>>756
んでいつまで続けるの?
ウザくなってきたからスレ潰しするのもいいかなと思ってる
759デフォルトの名無しさん (ワッチョイ 4103-y+IU)
垢版 |
2018/05/19(土) 18:54:14.32ID:RoboUWmL0
バカ、スレ潰し宣言wwwww
これはさすがの俺も意表をつかれた度と超えたバカwwwww
760デフォルトの名無しさん (ブーイモ MMa1-+Nwo)
垢版 |
2018/05/19(土) 20:59:50.70ID:gCADl0W/M
C#のスレだと思ったのに。
2018/05/19(土) 21:13:55.60ID:35k9lSzB0
リストボックスの値を取得するのって

string Gender = this.Gender.SelectedItem.ToString();

の一文だけじゃだめなの?
なぜか値が取得できない。
2018/05/19(土) 21:17:27.89ID:BEl4Etk9a
あたまがくらくらする
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();
にでも変えれば動かないか?
2018/05/19(土) 21:30:21.29ID:35k9lSzB0
>>761
すいません。
自己解決しました。
大分疲れてきたようです。
寝ます・・・。
2018/05/19(土) 21:32:29.68ID:35k9lSzB0
>>763
すいません。
ご親切にありがとうございます。

値を出力するクラスにwriteline書き忘れてました・・・。
値の取得は上のコードでOKでした。

朝から一日プログラミングして悪い頭が限界を超えているようです。
今日はもう寝ます。
766デフォルトの名無しさん (ワッチョイ 4103-y+IU)
垢版 |
2018/05/19(土) 21:34:12.28ID:RoboUWmL0
教えたがりのバカ>>763の立場wwww
2018/05/20(日) 16:52:01.54ID:O/HF5kqh0
>>714
いろいろ調べてみましたが、私が探している解決策とは異なったようです
一番知りたいのは、埋め込みリソースに対し、通常のファイルアクセスのように
アクセスする方法はないのか、という点です
(XLWorkbookのコンストラクタには、ファイルパスを与えますので)
今回のデータは参照のみ必要ですので、リソースとして埋め込んだ場合に
変更が効かなくなっても問題ないと考えました

712で書かれた内容は、「自分でファイルフォーマットを定義して、それを読んで
切り貼りするコードを自分で書くべし」、ということでしょうか
そのために有用なのが714のAPIということですか
2018/05/20(日) 18:41:56.82ID:9fk8EC6VM
ないよ
一回テンポラリファイルに出力すればいい
使いたいライブラリがストリームを受け取るバージョンをサポートしてるならそっちを使ってテンポラリファイルは要らない
2018/05/20(日) 19:32:08.73ID:QOdmSKaj0
やったことないけど
これは動かないの?

https://support.microsoft.com/ja-jp/help/319292/how-to-embed-and-access-resources-by-using-visual-c
2018/05/20(日) 19:59:07.95ID:O/HF5kqh0
>>768
ありがとうございます
少し調べてみた限りですと、closedXMLはストリームからの読み込みはサポートして
いないようなので(当然の気もしますが)、テンポラリファイル等別の手段を考えます

>>769
「リソースにアクセスしたい」ではなく、「ファイルにアクセスするメソッドにリソースを
渡したい」でした
768のおかげでそのまま実現するのは無理とわかりましたので、疑問としては解決です
771デフォルトの名無しさん (ワッチョイ 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に属性を保存しておけばすべて丸く
収まるとおもうのだが、なぜそうしないのだろうか?
2018/05/21(月) 09:30:17.64ID:HN6x0Zrba
文字列の実装には内部的にUnicodeで扱うものとバイト列として扱うものとがある。
前者は入出力時にそれぞれバイト列->UnicodeとUnicode->バイト列をどのようにマッピングするか(i.e. エンコーディング)を指定する必要がある。
後者であればその必要はない。
一方で前者は外部から文字列を読み込んでも内部的にはUnicodeだから読み込んだ文字列に対して処理を行う際に文字コードに悩む必要はない。
後者はプログラムを書いている時の文字コード, 入力された文字コードを常に意識せねばならん。
一長一短だからどっちの実装もあり得るが.NETは内部Unicodeが標準的だということだ

文字列自身に自分のエンコーディング情報を埋め込むのはやめておけ
禄でもないことにしかならん
2018/05/21(月) 10:54:12.62ID:wG0UA8oX0
JSON はJavaScript だから、UTF-8

Ruby, Python もそう。
ネット上に流れるテキストも同じ

SHIFT_JIS を使う言語は、まずない。
PowerShell も、UTF-16

ここ数年は、Unicode に統一された。
それ以外の、SHIFT_JIS, EUC-JP は使わない
2018/05/21(月) 12:22:48.67ID:ZMitaTGGM
>>773
何言っても通じないとは思うが、お前の愛するRubyの文字列の扱いは他と異なっている
Rubyの文字列は内部的にはエンコーディング情報を持ったバイト列だ
特にWin環境では非常にトラブルの原因になりやすいゴミ仕様である
2018/05/21(月) 12:34:00.26ID:wG0UA8oX0
Ruby は各文字列に、エンコードを持てるから、すごい

例えば、文字列a がSHIFT_JIS で、b がUTF-8 として、

a + b
みたいに、文字列を連結すると、エンコードエラーになる
2018/05/21(月) 12:36:23.24ID:ZMitaTGGM
>>775
うん。何一つメリットのないカス仕様だね。
2018/05/21(月) 12:50:56.22ID:0W5b/XyUM
>>770
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だと思うが、、
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をつかうんだろ。
2018/05/21(月) 15:24:30.40ID:wG0UA8oX0
Windows も内部的には、UTF-16 だろ。
PowerShell, ブラウザも、UTF-8

保守費用が掛かるから、MS も、SHIFT_JIS を辞めたいはず

Excel など、長年使っている人が多いから、やめられないだけ
2018/05/21(月) 15:43:54.89ID:s3jYOwAha
>>780
Stringのエンコーディングが固定なら、IOのときだけ文字コードを意識すれば済む
素人のちょっとしたツールのレベルならともかく、一般的にはIとOの間(P)の部分がプログラムの殆どを占めるんだよ
Dictionaryのキーの文字コードが混在してて、存在するはずのキーの検索に失敗するとか悪夢だろ
2018/05/21(月) 21:17:05.23ID:83cG7/bYM
ビルドしても、ファイルできなくて意味わかんねえ
784デフォルトの名無しさん (ワッチョイ 55da-XbkE)
垢版 |
2018/05/21(月) 22:02:39.74ID:o82N7H0r0
>>778
Excelは言語じゃない。
日本語版のExcelのCSV出力時の文字コードがShiftJISなのは単に過去との互換性のため。
ちなみにBOMが付いていればUTFのCSVでも読み込める。
2018/05/21(月) 22:04:28.66ID:ZCJ7EsPBa
漢字が文字化けするのは保存した文字コードと読み込んだ文字コード指定が違うから
それだけ
つまりやった側の間違い

どこで間違えたか手順を順に見直すべし
786デフォルトの名無しさん (ワッチョイ 4103-y+IU)
垢版 |
2018/05/21(月) 22:11:44.14ID:KnpxsRSU0
やった側ってどの側だよw
2018/05/22(火) 00:01:50.29ID:1gACj0o60
sqliteとの連携に関して質問です
なんらかのクライアントで先にテーブルを作り、レコードもinsertしておいて、それを読み込むプログラムを作りたいのですが、既存のdbファイルはどこに配置すればよいのでしょうか
デバッグしてみたらno such tableと言うようなエラーが出たので、どうやら実行時に新たにdbファイルを作ってそれを読もうとしてしまっているようです
2018/05/22(火) 00:20:52.78ID:V2R/cizEa
>>787
どこもクソも決めるのはお前
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に
たいしてわざわざ文字コードの情報を削除して保存するのは何故なのだ。正気の沙汰とは思えんな。
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でも読み込める。

互換性のためならもっとほかの方法がある。アプリのためにコードを弄るなんて最悪の方法だろう。
2018/05/22(火) 07:58:03.61ID:j6MjsmBId
>>788
あざすぅ
2018/05/22(火) 09:20:46.86ID:uYoKmc1Q0
ここにきて.NET CoreがWPF, Windows Formsを救済ってか
2018/05/22(火) 09:31:30.78ID:7LgkrdmnM
>>790
>>791
>>792
屁理屈言っても誰にも認められない
x=x+1は式としておかしいと言い張ってプログラムが全くできなかった人がいたけど
その人と同じ

文字コードがいろいろあるのは仕方ない
それぞれの都合で整数に文字を割り当てる方式がちがうので文字化けする
文字コードの情報というものがそもそもないので削除なんてしてない

自動判定は単なる憶測にすぎない
その自動判定だって誰かが書いたコードが判定してるんであって
機械に任せると言うのは言ってることがおかしい
2018/05/22(火) 10:37:32.58ID:svO22mue0
public double Re { get; set; }
ってプロパティを省略して書くと見やすくていいんですが、
他クラスから参照するだけの変数だと、
Reは使用されていませんって警告がずっと出てうっとうしい。
何かいい手はないでしょうか?
2018/05/22(火) 10:37:46.91ID:np9ncSKga
別に文字列を文字セット/エンコーディングごと抽象化するライブラリとか作ってくれて良いのよ?
既存文字列と互換性があって使い勝手, 拡張性と統一性と性能が担保されるなら普及もするだろう

でも曲がりなりにもそれ続けられてるのってRubyくらいで他に思い浮かばない
なんで無いのかと言うけど試されてないわけないんだよ, 現実的じゃないから普及してない
2018/05/22(火) 10:58:36.99ID:sxJmXMb80
>>796
{ get; private set; }
とか?できないんだっけ?
2018/05/22(火) 11:14:09.28ID:7Riaak3V0
WPFで
WindowStyle="None"
AllowsTransparency="True"
Background="#01FFFFFF"
でほぼ透明だけどマウスイベントを受け取るウィンドウを作ったのですが
これとおなじことをFormでやりたいのですがやりかたがわかりません
どのようにすればいいですか?
2018/05/22(火) 11:23:07.15ID:svO22mue0
>>798
できると思います。

データ格納フォルダB:Aフォームから値を取得
Cクラス:Bから値を取得
となってるのでsetもpublicでないと困るんですよね。

データ格納フォルダBの値はAから値取得した後なにも処理がないので、
「Reは使用されていません」って正しい警告なんですけどねぇ。
格納しているデータが10個あって警告10個もでるとさすがにうっとうしい。
2018/05/22(火) 12:14:32.87ID:CqasDiEMM
>>790
BOM付きのUTF以外は、文字コードの情報なんてものは最初から存在しない。
また、文字コードの自動判別も完璧ではなく、場合によっては全く判別出来ない。
802デフォルトの名無しさん (ブーイモ MMde-+Nwo)
垢版 |
2018/05/22(火) 12:16:10.65ID:O9GDwfVPM
BのコンストラクタにAからの値を受け付けて
public readonly double Reに渡すとかじゃだめなんね?
2018/05/22(火) 12:36:59.84ID:2EZjLjzja
>>799
Formはウィンドウ全体のアルファはOpacityで指定できるけど、
背景だけ透過させるとかは簡単にはできなかったような
http://yellow.ribbon.to/~azumaya/doc_dotnet_uplayeredwnd.php

>>800
そもそも>>796みたいな告なんか出ないと思うけど...
何か盛大に勘違いしてる予感...
2018/05/22(火) 13:05:58.78ID:7Riaak3V0
>>803
WPFだと簡単にできたけどだめですか。。
背景透明なウィンドウとOpacity≒0で全体をほぼ透明化したウィンドウを重ねて代用します
2018/05/22(火) 13:21:14.65ID:svO22mue0
>>803
勘違いなのかなぁ・・・。
すいませんもうちょっといろいろ実験してみます。
2018/05/22(火) 13:55:20.14ID:svO22mue0
もともとスタートアップだったform1からform2にスタートアップを変更したいと考えています。
Program.csの
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new InitialSettingForm1());
}
のForm1をForm2に変更したのですがどうもうまくいきません。
2018/05/22(火) 14:00:09.60ID:svO22mue0
form1が出てからform2が表示されているような…。
試しに
public ExaminationForm1()
{

InitializeComponent();
MessageBox.Show("a");
}
と入れてみると
メッセージボックスが表示→okをクリック→form2が表示
となります。
他にも設定しなければいけないところがあるのでしょうか・・・。
2018/05/22(火) 14:01:17.37ID:svO22mue0
また変なことやってるのかなぁ・・・。
2018/05/22(火) 14:48:09.94ID:oCYWBo6GM
InitialSettingなのかExaminationなのかどっちだよ
ExaminationForm1のコンストラクタにブレークポイントおいて実行
ブレークしたら呼び出し履歴を確認する
2018/05/22(火) 17:11:30.57ID:svO22mue0
>>809
Debugで確認していったらどうもインスタンスの参照を渡せていないようです。
2018/05/22(火) 17:12:13.75ID:svO22mue0
public partial class Form1 : Form
{
Form2 form2;
Class1 class1;

public Form1()
{
InitializeComponent();
form2 = new Form2();
form2.Show();

class1 = new Class1();
form2.Pointer = class1;
}
}
2018/05/22(火) 17:12:47.68ID:svO22mue0
public partial class Form2 : Form
{
Class1 class1;
public Class1 Pointer
{
set
{
class1 = value;
}
}
public Form2()
{
InitializeComponent();
int i = class1.fuga();
MessageBox.Show(i.ToString());
}
}
2018/05/22(火) 17:13:21.01ID:svO22mue0
public class Class1
{
public int hoge = 2222;
public int fuga()
{
return hoge;
}
}
2018/05/22(火) 17:16:54.99ID:svO22mue0
Form2で
int i = class1.fuga();
みたいなclass1のメソッドを使う命令を書くと、実行時にForm1もForm2も表示されずに終了になります。

Form2にclass1の参照をきちんと渡せていないようなのですが、どこが悪いんでしょう・・・。
2018/05/22(火) 17:33:33.27ID:2EZjLjzja
>>814
みたいな、じゃなくて問題を再現可能な最小コードをIdeoneにでもあげる
何で>>811-813まで書いおいて一番肝心なところを書かないんだ
それじゃやってること荒らしと同じ
2018/05/22(火) 17:34:55.39ID:oCYWBo6GM
806から811で全然別物の質問になってるんだけど
Form1のコンストラクタの先頭とForm2のコンストラクタの先頭にそれぞれブレークポイントおいて
ブレークしたらF10キー1行ずつステップオーバーしていって
どういう順番で実行されてるか確認
2018/05/22(火) 20:59:34.16ID:36NNq4u4M
うるせーな一度答えると決めたら最後までニコニコヅラで相手しろよクソハゲ
2018/05/22(火) 21:22:06.95ID:sZHy65Kr0
>>777
返信遅くなりました
ありがとうございます、確かに存在しました
やってみたら問題なくアクセスできました
2018/05/22(火) 21:56:59.84ID:nVwte2qB0
>>811
Form2のコンストラクタ内でclass1を使用しようとしているのに、
form2.Pointer(class1)がその後で設定されてる。
2018/05/23(水) 00:14:46.31ID:IEWpo6Tg0
>>819
ありがとうございます。m(__)m
その通りでした。
一個づつ追っていけば分かるはずなんですけど、
自分では思い込みがあって気づきませんでした。

本当に助かりました。
ありがとうございました。
2018/05/23(水) 00:17:07.19ID:IEWpo6Tg0
>>815
すいません。
文章の書き方が悪かったです。

812の下から4行目のように
Form2で
int i = class1.fuga();
class1のメソッドを使う命令を書くと、実行時にForm1もForm2も表示されずに終了になります。

と書くべきでした。
2018/05/23(水) 00:18:47.23ID:IEWpo6Tg0
>>816
これまたすいません、ブレークポイントで見て言ったら画面の生成順は問題ないことが分かって、
インスタンスの参照が渡っていないことが原因と分かり。811-813みたいな最小コードで実験してました。
823デフォルトの名無しさん (ワッチョイ 75eb-/w+O)
垢版 |
2018/05/23(水) 10:08:41.93ID:N3UaVe1J0
中学生ぐらいだったら教えてやってもいいけど、あんたいくつよ?
824デフォルトの名無しさん (ワッチョイ 76e8-HRP5)
垢版 |
2018/05/23(水) 10:10:09.13ID:QWeWgJFJ0
不安なメソッド内じゃ全部TryCatchで囲っちゃった方が良いです?
2018/05/23(水) 10:18:50.74ID:Mh8q82UX0
catch内で例外を握りつぶせば完璧
2018/05/23(水) 13:00:21.42ID:mO/AejLg0
メインの処理全体をtry〜catchで括るだけさ。
2018/05/23(水) 18:48:37.98ID:hVcgEIrnM
ジェネリクスのListやHashSetを良く使うのですが、これで用が足りてしまうので自作までしたことありません

出来る企業や個人はバリバリ自作するのでしょうか
2018/05/23(水) 19:00:48.43ID:iQ1n/QEKM
>>827
できる人はそんな無駄なことに時間をかけたりしません
視野狭窄な無能ほどそういうことに拘って工数をドブに捨て、結果的に全体のクォリティを上げる時間が失われるのです
2018/05/23(水) 23:29:00.27ID:l9NA/114M
ありもの使う方が良いと思うよ
2018/05/24(木) 00:22:57.92ID:Pwy3p0jE0
ありものでどうしても駄目な理由がある場合のみ、仕方なく自作だわね
2018/05/24(木) 00:28:40.71ID:crQGHj+ea
>>830
それも注意が必要だけどね
視野狭窄な小手先の技術に拘るプログラマは、くだらない問題に拘って「どうしても駄目だ」と思い込む(思い込もうとする)傾向がある
大抵そういうケースでは、視野を広げるとそもそも無理に手間をかけてまで解決する必要のない問題であることが多い
2018/05/24(木) 00:36:35.91ID:O9jHVcOl0
Dictionary クラスを継承して使いたくて、
これの各種インターフェイスを実装した中身 Dictionary クラスのラッパーを作った事あるなあ。
今思えば若かった。
2018/05/24(木) 07:54:06.51ID:YzRB3Rzod
>>831
プログラム以外でもあてはまる話だわな。
それ
2018/05/24(木) 14:34:00.01ID:q7DgX+HL0
たいていは英語力の無さに原因があるんだよな。
その機能を見つけられないとかだからさ。
2018/05/24(木) 15:02:55.06ID:AHiLgPdDM
コンソールアプリです。
今までに自分が吐き出した標準出力を自分で取得する事は可能でしょうか?
このアプリ(A)は主に他のアプリ(B)から実行されることを想定しています。Aは普通にConsole.WriteLineで出力し、BがProcess.StandardOutput.ReadToEndで取得、ログを残します。
A単体で実行してログも残したい要求があります。 Console.WriteLineと同時にファイルに出力すればいいのですが、最後に一括で取得できればスマートかなと思ったのですが、いかがでしょうか?
2018/05/24(木) 16:59:57.59ID:B2m5C+ouM
>>835
ウィンドウアプリです
2018/05/24(木) 17:02:19.57ID:q7DgX+HL0
両方に出力する関数作って、その関数に置き換える事すら出来ない無能に何をアドバイスしろと?
2018/05/24(木) 17:11:45.68ID:iQu+wqIP0
Windowsで使えるteeコマンド探した方が早いんじゃねえか
2018/05/24(木) 17:19:25.14ID:EdBeTbDkM
PowerShellならデフォルトで用意されてるよ!>tee
2018/05/24(木) 17:19:52.49ID:AHiLgPdDM
>>836
???
すみません、よくわかりません

>>837
書き方まずかったですかね。
そう言うのも含めて、2つの処理を同時にするという意味だつたのてすが。
他にはなさそうですね。
2018/05/24(木) 19:35:28.68ID:MnVBsXE4d
TraceSource
2018/05/24(木) 20:33:40.60ID:hof73DG2a
正直何言ってるのかよく分からんけど、普通にリダイレクトするだけのような...
っていうか、普通はコマンドライン引数で出力先を切り替えるように作ると思うんだけど...
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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