!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
C#, C♯, C#相談室 Part93
http://mevius.5ch.net/test/read.cgi/tech/1492818720/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part142
https://mevius.5ch.net/test/read.cgi/tech/1551908141/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part143
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 8861-gZI7)
2019/05/16(木) 19:28:06.27ID:s+6oZKe0051デフォルトの名無しさん (ドコグロ MM85-A+mh)
2019/05/20(月) 07:13:37.85ID:h4Os3XI/M52デフォルトの名無しさん (アウアウウー Sa30-GuQi)
2019/05/20(月) 08:04:55.23ID:WRHDTme5a 属性を持たせたいならxml一択
53デフォルトの名無しさん (ドコグロ MM36-gZI7)
2019/05/20(月) 08:07:45.04ID:MXQiPVhxM そもそもxmlを編集する有名なツール自体がない
あってもとても一般人には触れない代物
人に編集させたいくせにあえてこのフォーマットにする意味がそもそも皆無
エクセルでも読めないし
一体どうして欲しいのか?
別の設定ツールを作るときにプログラムから読み書きがしやすいってただそれだけだろ
んでツールの提供も嫌だって言うんじゃ
メリット皆無
そもそもxmlを選択した時点で担当者は無能で死刑
あってもとても一般人には触れない代物
人に編集させたいくせにあえてこのフォーマットにする意味がそもそも皆無
エクセルでも読めないし
一体どうして欲しいのか?
別の設定ツールを作るときにプログラムから読み書きがしやすいってただそれだけだろ
んでツールの提供も嫌だって言うんじゃ
メリット皆無
そもそもxmlを選択した時点で担当者は無能で死刑
54デフォルトの名無しさん (スップ Sd02-60To)
2019/05/20(月) 09:18:28.49ID:1dspVVtJd えくせるwww
55デフォルトの名無しさん (ワッチョイ 6e7c-Q2B8)
2019/05/20(月) 11:20:58.13ID:g1Dx2x5o0 xml は糞
56デフォルトの名無しさん (ワッチョイ de4b-Uw8s)
2019/05/20(月) 15:53:54.65ID:IYtfHjiI0 以下のように非async関数proc1から、awaitが必要な関数proc3を呼び出すのに async void の関数proc2を挟んでいます。
この時、proc3/proc2のすべての処理が終わってからproc1に返ってきてほしいのですが、ログを確認すると
Enter proc2⇒Enter proc3⇒proc3 start⇒Exit proc2⇒proc3 end⇒Exit proc3
となってしまいます。
Enter proc2⇒Enter proc3⇒proc3 start⇒proc3 end⇒Exit proc3⇒Exit proc2
という順序で実行させるにはどうすれば良いのでしょうか。
private void proc1()
{
Debug.Write("Enter proc2");
proc2();
Debug.Write("Exit proc2");
}
private async void proc2()
{
Debug.Write("Enter proc3");
if(await proc3())
{
foo();
}
Debug.Write("Exit proc3");
}
private async Task<bool> proc3()
{
Debug.Write("proc3 start");
await bar();
Debug.Write("proc3 end");
return true;
}
この時、proc3/proc2のすべての処理が終わってからproc1に返ってきてほしいのですが、ログを確認すると
Enter proc2⇒Enter proc3⇒proc3 start⇒Exit proc2⇒proc3 end⇒Exit proc3
となってしまいます。
Enter proc2⇒Enter proc3⇒proc3 start⇒proc3 end⇒Exit proc3⇒Exit proc2
という順序で実行させるにはどうすれば良いのでしょうか。
private void proc1()
{
Debug.Write("Enter proc2");
proc2();
Debug.Write("Exit proc2");
}
private async void proc2()
{
Debug.Write("Enter proc3");
if(await proc3())
{
foo();
}
Debug.Write("Exit proc3");
}
private async Task<bool> proc3()
{
Debug.Write("proc3 start");
await bar();
Debug.Write("proc3 end");
return true;
}
57デフォルトの名無しさん (ワッチョイ f0e7-HOgd)
2019/05/20(月) 16:29:27.47ID:UpaSmFYv0 >>56
proc1でproc2をawait
proc1でproc2をawait
58デフォルトの名無しさん (ワッチョイ de4b-Uw8s)
2019/05/20(月) 16:48:17.44ID:IYtfHjiI0 >>57
proc1は同期メソッドなので、await proc2(); はできません。
proc1は同期メソッドなので、await proc2(); はできません。
59デフォルトの名無しさん (ワッチョイ f0e7-HOgd)
2019/05/20(月) 17:25:01.51ID:UpaSmFYv0 >>58
なら、proc2.Wait()
なら、proc2.Wait()
60デフォルトの名無しさん (ワッチョイ ca7c-BOJ1)
2019/05/20(月) 17:25:01.60ID:wrDP3R9n0 async Task proc2()
にして
proc2().GetAwaiter().GetResult();
とか
にして
proc2().GetAwaiter().GetResult();
とか
61デフォルトの名無しさん (ワッチョイ de4b-Uw8s)
2019/05/20(月) 17:58:04.54ID:IYtfHjiI0 >>59
そんなやり方があったんですね。
ただ、async void proc2() だとエラーになったので async Task proc2() に変更して希望の動作になりました。
ありがとうございます。
そんなやり方があったんですね。
ただ、async void proc2() だとエラーになったので async Task proc2() に変更して希望の動作になりました。
ありがとうございます。
62デフォルトの名無しさん (アウアウエー Sa6a-AgTJ)
2019/05/20(月) 18:13:28.96ID:yAZ6lWg7a イベントハンドラーなど戻り値をvoidにするしかない場所でだけ、async voidを使うべき
それ以外はasync Taskかasync Task<T>を使おう
http://neue.cc/2013/10/10_429.html
それ以外はasync Taskかasync Task<T>を使おう
http://neue.cc/2013/10/10_429.html
63デフォルトの名無しさん (ワッチョイ ceda-EL+e)
2019/05/20(月) 19:47:30.75ID:NntmuTz6064デフォルトの名無しさん (オッペケ Srea-NknS)
2019/05/20(月) 19:53:39.19ID:Ea6E7La1r 初心者スレだから自己判断しろというのは難しいかもしれんが、
有用なノウハウや定石ってのはあるんだよ
有用なノウハウや定石ってのはあるんだよ
65デフォルトの名無しさん (アウアウエー Sa6a-AgTJ)
2019/05/20(月) 19:57:11.89ID:yAZ6lWg7a66デフォルトの名無しさん (ラクッペ MM70-SDtF)
2019/05/20(月) 20:06:27.69ID:hMek9ucfM 上級者様は自殺するか死ね
67デフォルトの名無しさん (ワッチョイ ceda-EL+e)
2019/05/20(月) 20:14:59.41ID:NntmuTz60 >>65
非同期タスクを管理する処理が別にあるとか、
サーバ間でデータ同期するけどリアルタイム性は求めず、整合性チェックも後でやるとか
俺はいろんなとこで経験したぞ。
時間のかかる処理はとにかく後回しでfire&forgetして、
目の前の処理を最優先にしたいことだってある。
「必須」とは言ってない。
状況「次第」と言っている。
実績のあるサイトがそう言ってるからと思考停止するのはやめてくれ
非同期タスクを管理する処理が別にあるとか、
サーバ間でデータ同期するけどリアルタイム性は求めず、整合性チェックも後でやるとか
俺はいろんなとこで経験したぞ。
時間のかかる処理はとにかく後回しでfire&forgetして、
目の前の処理を最優先にしたいことだってある。
「必須」とは言ってない。
状況「次第」と言っている。
実績のあるサイトがそう言ってるからと思考停止するのはやめてくれ
68デフォルトの名無しさん (ワッチョイ 9602-HOgd)
2019/05/20(月) 20:27:56.33ID:bliI8bxJ0 jpgを読み込んだbyte配列をUTF8で文字列化し、それをbyte配列に戻すと正しく復元できません
System.Text.Encoding.GetBytes(System.Text.Encoding.UTF8.GetString(bytes));
何故でしょうか
System.Text.Encoding.GetBytes(System.Text.Encoding.UTF8.GetString(bytes));
何故でしょうか
69デフォルトの名無しさん (ワッチョイ 747b-ZdlT)
2019/05/20(月) 20:33:41.61ID:nUCZI9rN070デフォルトの名無しさん (アウアウエー Sa6a-AgTJ)
2019/05/20(月) 20:43:52.08ID:yAZ6lWg7a >>67
状況次第でasync voidを使う場合があるんだな、知らなかったありがとう
>>68
https://docs.microsoft.com/en-us/dotnet/standard/base-types/character-encoding#choosing-a-fallback-strategy
https://docs.microsoft.com/en-us/dotnet/api/system.text.utf8encoding#remarks
Encodingインスタンスには、文字列化出来ない場合にどうするのかを扱うDecoderFallbackプロパティがあって
Encoding.UTF8の場合はReplacement fallbackを使ってREPLACEMENT CHARACTER (U+FFFD)に変換する
だからGetString()時点でjpg中のutf-8でない部分はU+FFFDに変わるのでGetBytes()しても復元できない
状況次第でasync voidを使う場合があるんだな、知らなかったありがとう
>>68
https://docs.microsoft.com/en-us/dotnet/standard/base-types/character-encoding#choosing-a-fallback-strategy
https://docs.microsoft.com/en-us/dotnet/api/system.text.utf8encoding#remarks
Encodingインスタンスには、文字列化出来ない場合にどうするのかを扱うDecoderFallbackプロパティがあって
Encoding.UTF8の場合はReplacement fallbackを使ってREPLACEMENT CHARACTER (U+FFFD)に変換する
だからGetString()時点でjpg中のutf-8でない部分はU+FFFDに変わるのでGetBytes()しても復元できない
71デフォルトの名無しさん (ワッチョイ 66ad-60To)
2019/05/20(月) 20:48:37.77ID:xhf1KGbK072デフォルトの名無しさん (ワッチョイ 9602-HOgd)
2019/05/20(月) 21:09:30.64ID:bliI8bxJ073デフォルトの名無しさん (スップ Sd02-rzGG)
2019/05/20(月) 21:15:12.88ID:UR9kN7had どうしても文字列にしたいならbase64
74sdfasdfasdfsd (ワッチョイ 3570-EbOW)
2019/05/20(月) 21:22:49.73ID:VWEIYE4F0 Visual Studio(C#)のプログラミングに関する質問です。
インクルードする2ファイルが、双方のクラスを互いに必要とするケースにおいて、
コンパイルが通らなくて困っています。(当たり前なのですが…)
【Aファイル】
クラスAの定義{
クラスBの使用(インスタンス作成、メソッド利用)
}
【Bファイル】
クラスBの定義{
クラスAの使用(インスタンス作成、メソッド利用)
}
【全体インクルードファイル】
#include Aファイル
#include Bファイル
【コンパイル結果】
Bクラスが存在しません(Aファイルにて)
【質問】
お互いにクラス定義を必要とする場合、
★具体的に★どのような実装をすれば良いのでしょうか?
インクルードする2ファイルが、双方のクラスを互いに必要とするケースにおいて、
コンパイルが通らなくて困っています。(当たり前なのですが…)
【Aファイル】
クラスAの定義{
クラスBの使用(インスタンス作成、メソッド利用)
}
【Bファイル】
クラスBの定義{
クラスAの使用(インスタンス作成、メソッド利用)
}
【全体インクルードファイル】
#include Aファイル
#include Bファイル
【コンパイル結果】
Bクラスが存在しません(Aファイルにて)
【質問】
お互いにクラス定義を必要とする場合、
★具体的に★どのような実装をすれば良いのでしょうか?
75デフォルトの名無しさん (アウアウエー Sa6a-4YhY)
2019/05/20(月) 21:29:41.06ID:Bu5yaqN9a C#でインクルード?
VisualStudio/C#のバージョンはなに?
VisualStudio/C#のバージョンはなに?
76デフォルトの名無しさん (ワッチョイ e242-EL+e)
2019/05/20(月) 21:34:07.81ID:CFJtADgh077デフォルトの名無しさん (ササクッテロル Sp88-MdQY)
2019/05/20(月) 21:38:58.17ID:zvO9BMGmp C++ならImplパターン的なのになりそう
78デフォルトの名無しさん (アウアウカー Sa0a-qY1O)
2019/05/20(月) 22:15:36.37ID:4rJ56KmUa >>74
どういう場合にそんな設計しないといけないのかが気になる
どういう場合にそんな設計しないといけないのかが気になる
79デフォルトの名無しさん (ワッチョイ 3570-EbOW)
2019/05/20(月) 22:38:26.25ID:VWEIYE4F080デフォルトの名無しさん (ワッチョイ 3570-EbOW)
2019/05/20(月) 22:39:43.45ID:VWEIYE4F081デフォルトの名無しさん (ワッチョイ 3570-EbOW)
2019/05/20(月) 22:41:01.38ID:VWEIYE4F082デフォルトの名無しさん (アウアウエー Sa6a-4YhY)
2019/05/20(月) 22:49:57.98ID:Bu5yaqN9a83デフォルトの名無しさん (ワッチョイ 0ae3-EL+e)
2019/05/20(月) 22:53:46.69ID:RwQcJLUy0 実装が汚いって>>74の時点で汚物まみれやんけwww
84デフォルトの名無しさん (ワッチョイ 7cda-PT8I)
2019/05/20(月) 22:56:25.44ID:5mAsU23+0 私は貴方のお母さんではありません
85デフォルトの名無しさん (ワッチョイ ac63-SDtF)
2019/05/20(月) 23:04:19.27ID:XzV4NN/g0 頭の中もさぞかしゲロまみれであろう
86デフォルトの名無しさん (ワッチョイ df63-USkf)
2019/05/20(月) 23:05:45.37ID:Cm4lSS/q0 マルチポストで上から目線ってすげーな
全体インクルードファイルとかいうもん作るのになんで実装が汚いなんて拘るのかも意味不明
君の思う綺麗な実装なんてなんで他の誰かが気にしなきゃいけないのw
全体インクルードファイルとかいうもん作るのになんで実装が汚いなんて拘るのかも意味不明
君の思う綺麗な実装なんてなんで他の誰かが気にしなきゃいけないのw
87デフォルトの名無しさん (ワッチョイ c461-gZI7)
2019/05/20(月) 23:11:16.82ID:0XbNrzL70 どっちの画面からも
お互いの画面を呼び出す仕様を素直に作っちゃうとそうなるな
今は無意識にそういうの避けてるだけで
あるはあると思う
辻褄が合うように頑張るしかない
お互いの画面を呼び出す仕様を素直に作っちゃうとそうなるな
今は無意識にそういうの避けてるだけで
あるはあると思う
辻褄が合うように頑張るしかない
88デフォルトの名無しさん (ワッチョイ e242-EL+e)
2019/05/21(火) 00:21:42.93ID:7ZZvuA7z0 インターフェース使えばできると思うが、オススメはしないな
89デフォルトの名無しさん (ワッチョイ df63-USkf)
2019/05/21(火) 01:09:08.10ID:M9GsAJ+k0 C++の方にはすぐ回答出てたけど前方参照するだけの話
トリッキーでも何でもなくちょっとした規模の開発なら余裕で出てくる基礎的な内容
C++ 相互 参照 あたりでググればいくらでも記事は出てくる
そんな基礎的な内容を知らないのになぜか上から目線
トリッキーでも何でもなくちょっとした規模の開発なら余裕で出てくる基礎的な内容
C++ 相互 参照 あたりでググればいくらでも記事は出てくる
そんな基礎的な内容を知らないのになぜか上から目線
90デフォルトの名無しさん (ワッチョイ c461-gZI7)
2019/05/21(火) 01:39:01.98ID:CAN2Js5F0 >>89
それで回避していいならc#も同じじゃねっけ?
それで回避していいならc#も同じじゃねっけ?
91デフォルトの名無しさん (ワッチョイ c461-gZI7)
2019/05/21(火) 01:40:43.20ID:CAN2Js5F0 ただ、一部の人間からはウンコ認定されるってだけ
92デフォルトの名無しさん (ドコグロ MM02-A+mh)
2019/05/21(火) 06:42:05.09ID:tdstqwiHM そういう経験ない人からの認定なんてどうでもよくね?
93デフォルトの名無しさん (ドコグロ MM46-gZI7)
2019/05/21(火) 07:08:14.10ID:meTEBfC3M 組み方によって回避できるよ多分
94デフォルトの名無しさん (ワッチョイ dc2f-rckI)
2019/05/22(水) 00:05:54.67ID:uN3Dm6wF0 普通にC#のプロジェクトならそのAクラスもBクラスもコンパイルエラーにはならんのじゃねえの?
言語差異を吸収するってなら、全体インクルードファイルってのをC#に置き換えてから質問しろよ
言語差異を吸収するってなら、全体インクルードファイルってのをC#に置き換えてから質問しろよ
95デフォルトの名無しさん (アウアウエー Sa6a-Fe5F)
2019/05/22(水) 01:20:47.85ID:rbGbzH6ha 率直に思ったこと。
少なくとも俺には件の質問者が上から目線で物を言っているようには聞こえない
むしろ質問に正面から答えずに言い掛かりをつけてる連中の方がよほど上から目線で頭がオカシイ
少なくとも俺には件の質問者が上から目線で物を言っているようには聞こえない
むしろ質問に正面から答えずに言い掛かりをつけてる連中の方がよほど上から目線で頭がオカシイ
96デフォルトの名無しさん (ワッチョイ ac63-SDtF)
2019/05/22(水) 02:15:27.63ID:HqRLK9QX0 そうか、そういうのはママにお話してあげてな生ゴミくん
97デフォルトの名無しさん (ワッチョイ ea47-D3Sh)
2019/05/22(水) 03:42:23.27ID:sEhyUb960 >>95
俺もそう思う
俺もそう思う
98デフォルトの名無しさん (ワッチョイ aa01-A+mh)
2019/05/22(水) 06:16:41.31ID:t1pLQv56099デフォルトの名無しさん (アウアウウー Sab5-My8G)
2019/05/22(水) 08:35:59.17ID:PRmXlAdaa 上から目線で、というのは>>96みたいなのを指すんだろ
100デフォルトの名無しさん (ワッチョイ ca35-b1Zd)
2019/05/22(水) 09:45:56.54ID:4WKngIFH0 レスが真矢みきの声で再生されるから、
痛いとも思わん。
むしろご褒美
痛いとも思わん。
むしろご褒美
101デフォルトの名無しさん (ワッチョイ 7ff2-dCWx)
2019/05/25(土) 01:29:08.07ID:6oktqQ9W0 お前らいっつも喧嘩してんな
102デフォルトの名無しさん (ワッチョイ df47-6olE)
2019/05/25(土) 01:49:47.06ID:b/i4jST30 私のために喧嘩するのはやめて!
103デフォルトの名無しさん (ワッチョイ 6768-W1Ja)
2019/05/26(日) 18:26:18.96ID:NZfOTj1K0 xmlファイルをdll化することってメリットありますか?
何故かxmlのdllが出来てたのですが、理由はなんでしょうか?
何故かxmlのdllが出来てたのですが、理由はなんでしょうか?
104デフォルトの名無しさん (ワッチョイ 7f7b-MPhm)
2019/05/26(日) 19:00:10.18ID:68ZlmbT30 >>103
フォーマット違うんだけどな。dllに埋め込まれたxmlリソースが見えただけじゃないの?
もしくはxmlファイルを間違ってdllにリネームしてしまったか
「何故か」の過程が分からないと難しいしC#に関係あるかすらわからない
フォーマット違うんだけどな。dllに埋め込まれたxmlリソースが見えただけじゃないの?
もしくはxmlファイルを間違ってdllにリネームしてしまったか
「何故か」の過程が分からないと難しいしC#に関係あるかすらわからない
105デフォルトの名無しさん (ブーイモ MMcb-k1bI)
2019/05/26(日) 19:03:01.37ID:kiCcEgc2M ユーザー定義リソースなら何でも書けるよ
106デフォルトの名無しさん (スプッッ Sd7f-TUU5)
2019/05/26(日) 19:14:38.59ID:gL51xVlRd 日本語でよろしく
107デフォルトの名無しさん (ワッチョイ bffc-GX6Y)
2019/05/26(日) 20:51:40.86ID:KIe0CODm0 visual studioではcsファイル単体でのテストは可能ですか?
デバッグしたいです
wpfです
デバッグしたいです
wpfです
108デフォルトの名無しさん (ワッチョイ 7f7b-MPhm)
2019/05/26(日) 20:58:26.81ID:68ZlmbT30 >>107
プロジェクトが無いとデバッグできないしWPFはcsファイル単体では成り立たないんじゃないの
https://docs.microsoft.com/ja-jp/dotnet/framework/wpf/getting-started/walkthrough-my-first-wpf-desktop-application
これ以上はWPFスレで聞いてください
WPF(.NET4.x, .NET Core) GUIプログラミング Part23
https://mevius.5ch.net/test/read.cgi/tech/1557960752/
プロジェクトが無いとデバッグできないしWPFはcsファイル単体では成り立たないんじゃないの
https://docs.microsoft.com/ja-jp/dotnet/framework/wpf/getting-started/walkthrough-my-first-wpf-desktop-application
これ以上はWPFスレで聞いてください
WPF(.NET4.x, .NET Core) GUIプログラミング Part23
https://mevius.5ch.net/test/read.cgi/tech/1557960752/
109デフォルトの名無しさん (ワッチョイ bffc-GX6Y)
2019/05/26(日) 21:02:25.57ID:KIe0CODm0 すみません じゃあvs code使いますです
110デフォルトの名無しさん (ワッチョイ e763-WFXE)
2019/05/27(月) 15:50:03.21ID:akjP+mMa0 githubで他人のコードを見て勉強しているのですが、
Action OnInit { get;set;}
というプロパティに対して
OnInit?.Invoke();
というコードは何をしているのでしょうか?
Action OnInit { get;set;}
というプロパティに対して
OnInit?.Invoke();
というコードは何をしているのでしょうか?
111デフォルトの名無しさん (ワッチョイ e7e7-U+c5)
2019/05/27(月) 16:02:02.29ID:gRTKnRKQ0 if ( OnInit != null )
{
OnInit();
}
{
OnInit();
}
112デフォルトの名無しさん (ワッチョイ e763-WFXE)
2019/05/27(月) 16:48:18.03ID:akjP+mMa0 >>111
ありがとうございます、C#6からの機能なんですね、新しい書き方についていかなければ。
ありがとうございます、C#6からの機能なんですね、新しい書き方についていかなければ。
113デフォルトの名無しさん (ブーイモ MMcb-WFXE)
2019/05/27(月) 19:42:02.15ID:at7F4ASBM114デフォルトの名無しさん (オッペケ Sr5b-ySD8)
2019/05/27(月) 19:54:29.22ID:jyj66Likr >>113
Invokeにじゃなくて?. の仕様な
Invokeにじゃなくて?. の仕様な
115デフォルトの名無しさん (ワッチョイ df2c-IeET)
2019/05/27(月) 19:54:39.07ID:lwWgLhFv0 Ruby にも、&. という、null(nil)許容演算子が出来た
Swift から来た、流行か
Swift から来た、流行か
116デフォルトの名無しさん (ワッチョイ 67da-rlEE)
2019/05/27(月) 20:35:27.77ID:5pJw+KKe0 今、一からデータベースプログラミングの勉強するなら、
@型付きDataSet A型なしDataSet BEF
のどれがよいでしょうか?
@型付きDataSet A型なしDataSet BEF
のどれがよいでしょうか?
117デフォルトの名無しさん (アウアウエー Sa9f-h/tS)
2019/05/27(月) 20:40:41.26ID:uloK3O7ha DataSetなんて15年以上前の技術なんか今更触っちゃダメ
Web上の情報でもDataSetを扱ってるようなページは問答無用で無視してよい
EFと言いたいところなんだけど・・・・個人的にはSQLの勉強も兼ねてDapperを推したい
データベースの基礎共用として手書きSQLがひととおり書けるようになっておいたほうがいい
Web上の情報でもDataSetを扱ってるようなページは問答無用で無視してよい
EFと言いたいところなんだけど・・・・個人的にはSQLの勉強も兼ねてDapperを推したい
データベースの基礎共用として手書きSQLがひととおり書けるようになっておいたほうがいい
118デフォルトの名無しさん (ドコグロ MM9f-BVry)
2019/05/27(月) 20:48:22.48ID:LNS8v7+tM119116 (ワッチョイ 67da-rlEE)
2019/05/27(月) 22:32:39.99ID:5pJw+KKe0 >>117-118
ありがとうございます。
DataSetとDapperをちょっとだけ試してみました。
DataSetはGUIで簡単にクエリを生成して実行もしてくれますが、DapperはSQLをソースコード内に直に書いて、Connectionも作る必要がありました。
こういうものでしょうか?それともDapperのGUIのSQLビルダー機能を見落としているのでしょうか?
ありがとうございます。
DataSetとDapperをちょっとだけ試してみました。
DataSetはGUIで簡単にクエリを生成して実行もしてくれますが、DapperはSQLをソースコード内に直に書いて、Connectionも作る必要がありました。
こういうものでしょうか?それともDapperのGUIのSQLビルダー機能を見落としているのでしょうか?
120デフォルトの名無しさん (アウアウエー Sa9f-BVry)
2019/05/27(月) 22:55:14.89ID:N+biQgtua SQL書けない奴はプログラマを名乗るな
121デフォルトの名無しさん (ブーイモ MMcb-xIO9)
2019/05/27(月) 23:02:35.44ID:dknccbkiM >>120
ニヤニヤ
ニヤニヤ
122デフォルトの名無しさん (アウアウエー Sa9f-k1cJ)
2019/05/27(月) 23:26:39.44ID:bCVUGNm+a123デフォルトの名無しさん (アウアウエー Sa9f-h/tS)
2019/05/27(月) 23:42:07.71ID:uloK3O7ha124116 (ワッチョイ 67da-rlEE)
2019/05/28(火) 00:13:06.87ID:n5bJXWyL0 とりあえずdapperでPostgresqlからデータを取得して、Entityクラスのインスタンスを作って、DataGridViewのDataSourceに指定したのですが、
asでカラムの別名を指定しても、プロパティ名もその別名にしないと、指定した別名になってくれないですね。
//Entityクラスのプロパティ名を、"名前","有効","備考"にしないと機能しない。
var sql = "select pkey, name as 名前, enabled as 有効, memo as 備考 from m_tbl_department;";
var result = con.Query<Entity.Department>(sql).ToList<Entity.Department>();
view.DataSource = result;
回避策がすぐに思いつかないので、EFも触ってみたいと思います。
asでカラムの別名を指定しても、プロパティ名もその別名にしないと、指定した別名になってくれないですね。
//Entityクラスのプロパティ名を、"名前","有効","備考"にしないと機能しない。
var sql = "select pkey, name as 名前, enabled as 有効, memo as 備考 from m_tbl_department;";
var result = con.Query<Entity.Department>(sql).ToList<Entity.Department>();
view.DataSource = result;
回避策がすぐに思いつかないので、EFも触ってみたいと思います。
125デフォルトの名無しさん (ワッチョイ ff7c-gVuc)
2019/05/28(火) 08:55:21.94ID:WAihcsXB0 列ヘッダの表示なら、クエリでasでやるんじゃなくて
class Department {
[DisplayName("名前")]
public string name { get; set; }
class Department {
[DisplayName("名前")]
public string name { get; set; }
126デフォルトの名無しさん (ワッチョイ df2c-IeET)
2019/05/28(火) 09:38:11.91ID:tpS8MDSU0 C# のフレームワークには、Ruby on Rails みたいな、O/R マッパーが無いのか?
今時、文字列で、SQL を書く人なんて、いるのか?
SQL インジェクションもされるから、今は、O/R マッパーのメソッドを使う。
placement に値を入れるだけで、SQLインジェクションをエラーにできる
今時、文字列で、SQL を書く人なんて、いるのか?
SQL インジェクションもされるから、今は、O/R マッパーのメソッドを使う。
placement に値を入れるだけで、SQLインジェクションをエラーにできる
127デフォルトの名無しさん (ワッチョイ 8742-+klA)
2019/05/28(火) 10:09:05.63ID:OLBGotQQ0128デフォルトの名無しさん (アウアウウー Saab-MqHY)
2019/05/28(火) 10:29:03.95ID:nGxfAzB2a >>126
お前はRubyスレから出てくるな
お前はRubyスレから出てくるな
129デフォルトの名無しさん (ワッチョイ df4b-pwRx)
2019/05/28(火) 10:35:26.92ID:FiHQa1DK0 A言語のスレで「A言語にはB言語でいうCみたいな機能は無いのか?」って聞いても、B言語を知らない、詳しくない人には「Cみたいな機能」がどんな機能かわからん。
B言語のスレなら少なくとも「Cみたいな機能」がどういう機能かはわかるんだから、聞くならB言語のスレで聞けばいいんじゃね?
今回ならRubuのスレでね。
B言語のスレなら少なくとも「Cみたいな機能」がどういう機能かはわかるんだから、聞くならB言語のスレで聞けばいいんじゃね?
今回ならRubuのスレでね。
130デフォルトの名無しさん (ワッチョイ df4b-pwRx)
2019/05/28(火) 10:35:51.99ID:FiHQa1DK0 あ・・ Typo・・・
131デフォルトの名無しさん (スップ Sdff-TUU5)
2019/05/28(火) 10:43:26.90ID:4asTXY3/d >>129
そのレベルの問題じゃない
そのレベルの問題じゃない
132デフォルトの名無しさん (ドコグロ MM1b-BVry)
2019/05/28(火) 11:33:20.74ID:MzojxIZTM133デフォルトの名無しさん (ブーイモ MMff-WFXE)
2019/05/28(火) 11:57:04.06ID:4xq1FFDVM >>126
ストアド叩けばええんちゃう?
ストアド叩けばええんちゃう?
134デフォルトの名無しさん (ワッチョイ df7d-dCWx)
2019/05/29(水) 11:04:17.50ID:8l8j4cjm0 昔は、C#での帳票にはクリスタルレポートを使っていました。
最近は、C#(Windowsアプリ)で一番多く使われているのは何でしょうか?
一番多く使われているものを教えてください。
最近は、C#(Windowsアプリ)で一番多く使われているのは何でしょうか?
一番多く使われているものを教えてください。
135デフォルトの名無しさん (ドコグロ MMeb-cspy)
2019/05/29(水) 12:37:48.69ID:GnXFyo5ZM136デフォルトの名無しさん (ブーイモ MMcf-k1bI)
2019/05/29(水) 12:49:27.29ID:2L2FZYjAM >>134
JasperReports
JasperReports
137デフォルトの名無しさん (ワイーワ2 FF9f-cTfy)
2019/05/29(水) 16:20:00.76ID:SMQO8msKF >>134
グレープシティのなんか。
グレープシティのなんか。
138デフォルトの名無しさん (アウアウエー Sa9f-B7xJ)
2019/05/29(水) 18:07:30.21ID:xcggW8D+a よく知らんけど帳票って専用のライブラリ使わなきゃいけないほど複雑な分野なのかな。
よっぽど凝ったデザインとかじゃなきゃ自分でゴリゴリ書いても
たいした手間じゃないと思うんだけど
WPFのDocumentは触ったことないけどGDI+なんか全然簡単よ
よっぽど凝ったデザインとかじゃなきゃ自分でゴリゴリ書いても
たいした手間じゃないと思うんだけど
WPFのDocumentは触ったことないけどGDI+なんか全然簡単よ
139デフォルトの名無しさん (ワッチョイ 2701-2jib)
2019/05/29(水) 18:09:50.31ID:mJlxjjN/0 情シスで未経験ながら一人開発してるんですけどSQLをクラスに書きながら世間様ではどうしているのか気になりました
クエリ専用クラスとか作ってるのでしょうか?
神クラスにまとめているのでしょうか?
ドメイン駆動設計独学してる限りではSQLは対象の知識に閉じ込めておくべきかなと考えておりますが、ベテラン様のご意見を伺いたいです
クエリ専用クラスとか作ってるのでしょうか?
神クラスにまとめているのでしょうか?
ドメイン駆動設計独学してる限りではSQLは対象の知識に閉じ込めておくべきかなと考えておりますが、ベテラン様のご意見を伺いたいです
140デフォルトの名無しさん (ブーイモ MMcb-WFXE)
2019/05/29(水) 18:27:22.97ID:xRp200EqM WPFなら帳票もxamlで作る
外部ライブラリは要らない
MVVMでちゃんと分離出来てれば、チャチャっとデザイン屋に頼めば良い。
FixedDocument作ってプリンタに送る部分だけちょっとめんどいかな
外部ライブラリは要らない
MVVMでちゃんと分離出来てれば、チャチャっとデザイン屋に頼めば良い。
FixedDocument作ってプリンタに送る部分だけちょっとめんどいかな
141デフォルトの名無しさん (スププ Sdff-6olE)
2019/05/29(水) 20:30:50.69ID:RpTtWZkWd Open Xml SDK使ってxlsxファイルに流し込んでる
142デフォルトの名無しさん (ワッチョイ df7d-dCWx)
2019/05/29(水) 20:47:27.03ID:8l8j4cjm0143デフォルトの名無しさん (スププ Sdff-6olE)
2019/05/29(水) 22:40:18.15ID:ZESC3voLd iTextSharp使ってPDFのテンプレートに流し込むのというのも作ったことある
144デフォルトの名無しさん (ワッチョイ dfad-TUU5)
2019/05/29(水) 23:07:18.43ID:3nSVS9eo0 今はライセンス料必要だけどね
145デフォルトの名無しさん (ドコグロ MM8a-RdrM)
2019/05/30(木) 12:47:28.06ID:NTWA4E5yM146デフォルトの名無しさん (ドコグロ MM8a-RdrM)
2019/05/30(木) 12:51:13.14ID:NTWA4E5yM147デフォルトの名無しさん (ドコグロ MM22-3QJd)
2019/05/30(木) 14:46:36.95ID:6LmM0VYIM >>145
フィールドの場合は一度ローカル変数に読み出してから分岐とメンバアクセスをするだけだろ
フィールドへのアクセスはローカル変数に比べて遅いから、繰り返しフィールドを読むのに比べてむしろ速くなる可能性がある
さすがにフィールドにvolatileが付いてない限りは繰り返しのフィールドアクセスは一度ローカル変数に読むのと同じ動作になるように最適化されるだろうけど
フィールドの場合は一度ローカル変数に読み出してから分岐とメンバアクセスをするだけだろ
フィールドへのアクセスはローカル変数に比べて遅いから、繰り返しフィールドを読むのに比べてむしろ速くなる可能性がある
さすがにフィールドにvolatileが付いてない限りは繰り返しのフィールドアクセスは一度ローカル変数に読むのと同じ動作になるように最適化されるだろうけど
148デフォルトの名無しさん (アウアウエー Sae2-dn6T)
2019/05/30(木) 15:39:26.40ID:v6SxCCrXa >>146
そんなトラブル聞いたことないよw
っていうかそれが起こるとしたらプリンタドライバまたはプリンタそのものの問題なので、
ユーザーコードレベルで回避なんかできるはずがない
だいたいインクリボンの時代じゃあるまいし、目視できる範囲の細い線が消えるって
どんなプリンターよwww
そんなトラブル聞いたことないよw
っていうかそれが起こるとしたらプリンタドライバまたはプリンタそのものの問題なので、
ユーザーコードレベルで回避なんかできるはずがない
だいたいインクリボンの時代じゃあるまいし、目視できる範囲の細い線が消えるって
どんなプリンターよwww
149デフォルトの名無しさん (ワッチョイ 6a7e-fyIw)
2019/05/30(木) 15:55:37.74ID:2VoqWsrK0 9600dpiの帳票で1dot幅の線を引いたりしてるんじゃないの。
プリンタドライバの縮小アルゴリズムが単純間引きに近い動きをすると
線が消えるので、プリンタの解像度を取得して自分で最適なアルゴリズムで
戦を残すように細工する必要がある場合がある。
プリンタドライバの縮小アルゴリズムが単純間引きに近い動きをすると
線が消えるので、プリンタの解像度を取得して自分で最適なアルゴリズムで
戦を残すように細工する必要がある場合がある。
150デフォルトの名無しさん (ドコグロ MMbb-ERtf)
2019/05/30(木) 16:33:56.92ID:cDWpvGTkM ピクチャーボックスに描画したやつは消えたな
文字はジャギってた
文字はジャギってた
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★5 [ぐれ★]
- 【速報】気象庁がマグニチュード7.5に修正しました [ニョキニョキ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 高市内閣「支持」64%「不支持」19% NHK世論調査 ★2 [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 高市首相「多様なコメの増産を進める」 方針転換への懸念払拭狙いか ★2 [どどん★]
- 大学で研究室潰れてテーマ変わったんだけど
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 巨大地震 [957955821]
- 何でデートでリュック背負って来たらダメなの?
- 自分で私はB型ーとか何とか言ってるゴミ女しんでくれないかな?
- 【🏡】岩手ビックウェーブ🏄うおおおおおおおおおおお🌊
