「どんなにくだらない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:oKXVP34zM201デフォルトの名無しさん (ワッチョイ 3e9f-rSH3)
2018/04/24(火) 20:53:14.94ID:ZpST366k0 >>200
exist=trueでブレークポイントを置いてデバッグ実行すればわかるのでは?
exist=trueでブレークポイントを置いてデバッグ実行すればわかるのでは?
202デフォルトの名無しさん (ワッチョイ 1aa6-wlRc)
2018/04/24(火) 20:54:05.17ID:UZOTbxqf0 そもそも exists = true; の行に到達してないというオチな気がする
203デフォルトの名無しさん (ワッチョイ 1aa6-wlRc)
2018/04/24(火) 20:55:27.49ID:UZOTbxqf0204デフォルトの名無しさん (ワッチョイ 4e9a-9jjH)
2018/04/24(火) 21:00:23.35ID:PfeXTBpB0 >>200
for(int i = 0; i < view.Rows.Count; i++)//Rows.Count以下じゃなく未満
{
bool exists = false;//ここに移動
if(str == Convert.ToString(view[0, i].Value))//ToString()だとValueがnullのときエラー
for(int i = 0; i < view.Rows.Count; i++)//Rows.Count以下じゃなく未満
{
bool exists = false;//ここに移動
if(str == Convert.ToString(view[0, i].Value))//ToString()だとValueがnullのときエラー
205デフォルトの名無しさん (ワッチョイ 1aa6-wlRc)
2018/04/24(火) 21:12:02.89ID:UZOTbxqf0 >>204はとってもそれっぽい
で、例外が握りつぶされるような場所でAddToDataGridが使われてるせいで気づけてないとか
こういう場合自分はtry{...}catch(Exception exception){throw;}で囲って
throwの直前にブレークポイントを置いたりしてるけどもっとうまい方法があったら誰か教えてちょ
で、例外が握りつぶされるような場所でAddToDataGridが使われてるせいで気づけてないとか
こういう場合自分はtry{...}catch(Exception exception){throw;}で囲って
throwの直前にブレークポイントを置いたりしてるけどもっとうまい方法があったら誰か教えてちょ
206デフォルトの名無しさん (ワッチョイ 1aa6-wlRc)
2018/04/24(火) 21:26:25.44ID:UZOTbxqf0207デフォルトの名無しさん (ワッチョイ 4ee8-9jjH)
2018/04/24(火) 21:31:25.92ID:zd8+57fN0 全一
FXきた
FXきた
208デフォルトの名無しさん (ワッチョイ 4e9a-9jjH)
2018/04/24(火) 21:36:01.31ID:PfeXTBpB0 >>206
フラグよく見ていないからとりあえず
if(str == Convert.ToString(view[0, i].Value))
{exists = true;break}
に変更で
フラグよく見ていないからとりあえず
if(str == Convert.ToString(view[0, i].Value))
{exists = true;break}
に変更で
209デフォルトの名無しさん (ワッチョイ 0e8a-xhTL)
2018/04/24(火) 21:38:44.73ID:AF96232m0 みなさん本当にありがとうございます。
結局原因はわからず仕舞いでしたが、最終的に以下の方法で打開しました。
void AddToDataGrid(string[] strs)
{
foreach(string str in strs)
{
bool exists = false;
for(int i = 0; i < view.Rows.Count; i++)
{
if(Convert.ToString(view[0,i].Value) == str)
exists = true;
}
if(!exists)
{
view.Rows.Add(name);
}
}
}
結局原因はわからず仕舞いでしたが、最終的に以下の方法で打開しました。
void AddToDataGrid(string[] strs)
{
foreach(string str in strs)
{
bool exists = false;
for(int i = 0; i < view.Rows.Count; i++)
{
if(Convert.ToString(view[0,i].Value) == str)
exists = true;
}
if(!exists)
{
view.Rows.Add(name);
}
}
}
210デフォルトの名無しさん (ワッチョイ 1aa6-wlRc)
2018/04/24(火) 21:49:35.82ID:UZOTbxqf0211デフォルトの名無しさん (ワッチョイ 9a98-9jjH)
2018/04/25(水) 15:12:14.28ID:lzwohvOS0 オブジェクト指向のプログラミングでは
変数じゃなくてプロパティにアクセスさせるべき
みたいな事をよく聞くんだけど
・プログラムの開始時にあるフラグ(true/false)を決めて、その後一切変更されることがない
・そのフラグには、コード中の様々な所からアクセスがある
って場合は、プロパティじゃなくてpublicな変数でフラグを定義してもいいんですか?
オブジェクト指向がよくわかってないせいか
プロパティを経由するのがどうしても遠回りというか
一つ余分な作業を挟んでるように感じてしまう・・・
変数じゃなくてプロパティにアクセスさせるべき
みたいな事をよく聞くんだけど
・プログラムの開始時にあるフラグ(true/false)を決めて、その後一切変更されることがない
・そのフラグには、コード中の様々な所からアクセスがある
って場合は、プロパティじゃなくてpublicな変数でフラグを定義してもいいんですか?
オブジェクト指向がよくわかってないせいか
プロパティを経由するのがどうしても遠回りというか
一つ余分な作業を挟んでるように感じてしまう・・・
212デフォルトの名無しさん (ワッチョイ 4e80-c0HJ)
2018/04/25(水) 15:30:51.28ID:eqJJBtIM0 変数は、公開しちゃダメ
その変数に、誰かが代入するかも知れないと考えると、
その変数に代入しているか、すべての場所を確かめないといけなくなるから、
プログラミングできなくなる
だから、プロパティで代入禁止に設定する
ただし、絶対に代入できない定数なら、公開してもよい
その変数に、誰かが代入するかも知れないと考えると、
その変数に代入しているか、すべての場所を確かめないといけなくなるから、
プログラミングできなくなる
だから、プロパティで代入禁止に設定する
ただし、絶対に代入できない定数なら、公開してもよい
213デフォルトの名無しさん (ワッチョイ 9a98-9jjH)
2018/04/25(水) 16:03:36.81ID:lzwohvOS0214デフォルトの名無しさん (ワッチョイ 9a98-9jjH)
2018/04/25(水) 16:12:23.29ID:lzwohvOS0215デフォルトの名無しさん (ワッチョイ 4bbb-txNp)
2018/04/25(水) 16:13:38.42ID:VelEInRI0 >>211
212は読まなくていい
フィールドだってreadonly修飾子で代入禁止できるが、212はそんなことも分かってないから
プロパティがフィールドと違う点は大ざっぱに
* 派生クラスでオーバーライドできる
* プロパティから構造体を返すとコピーされる
の2点
この2つの特性が必要ない(または避けたい)場合にフィールドを選択してよい
判断できないならプロパティを選択する
212は読まなくていい
フィールドだってreadonly修飾子で代入禁止できるが、212はそんなことも分かってないから
プロパティがフィールドと違う点は大ざっぱに
* 派生クラスでオーバーライドできる
* プロパティから構造体を返すとコピーされる
の2点
この2つの特性が必要ない(または避けたい)場合にフィールドを選択してよい
判断できないならプロパティを選択する
216デフォルトの名無しさん (スプッッ Sd5a-0snq)
2018/04/25(水) 16:15:28.83ID:ym3YbVtBd IOption使っとけ
217デフォルトの名無しさん (ワッチョイ 1aa6-wlRc)
2018/04/25(水) 16:51:44.20ID:I8kFq/qw0 >>211
>>215はどこかのコピペじゃないならすごい分かりやすくて尊敬
一つだけ補足すると、↓のようなこともあるからクラスがpublicの場合は
現状だけでなく将来の変更の可能性も考えてフィールドかプロパティか判断したほうが良い
public フィールドをプロパティに変える (2016/05/16追記)
https://qiita.com/chocolamint/items/f04665ce2db211abb2d2#public-%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%82%92%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3%E3%81%AB%E5%A4%89%E3%81%88%E3%82%8B-20160516%E8%BF%BD%E8%A8%98
あと>>212も善意で答えてるのは分かるんだけど
代入できるかどうかだけを判断基準にしてる時点でズレてて
定数の説明も参考にならない気がするから割と真面目に>>212は読まないほうが良いと思う
すまぬ>>212
>>215はどこかのコピペじゃないならすごい分かりやすくて尊敬
一つだけ補足すると、↓のようなこともあるからクラスがpublicの場合は
現状だけでなく将来の変更の可能性も考えてフィールドかプロパティか判断したほうが良い
public フィールドをプロパティに変える (2016/05/16追記)
https://qiita.com/chocolamint/items/f04665ce2db211abb2d2#public-%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%82%92%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3%E3%81%AB%E5%A4%89%E3%81%88%E3%82%8B-20160516%E8%BF%BD%E8%A8%98
あと>>212も善意で答えてるのは分かるんだけど
代入できるかどうかだけを判断基準にしてる時点でズレてて
定数の説明も参考にならない気がするから割と真面目に>>212は読まないほうが良いと思う
すまぬ>>212
218デフォルトの名無しさん (ワッチョイ 9a98-9jjH)
2018/04/25(水) 17:43:22.74ID:lzwohvOS0 >>215
>* プロパティから構造体を返すとコピーされる
これが、全然分からんのだけど
classの代わりにstructを使った場合の話であってる?
今の自分が考えたところで、どうせちゃんと理解出来ない気もするけど
>* プロパティから構造体を返すとコピーされる
これが、全然分からんのだけど
classの代わりにstructを使った場合の話であってる?
今の自分が考えたところで、どうせちゃんと理解出来ない気もするけど
219デフォルトの名無しさん (ワッチョイ 1a1e-fvqh)
2018/04/25(水) 17:44:09.08ID:EO6K8yEq0220212 (ワッチョイ 4e80-c0HJ)
2018/04/25(水) 17:48:51.21ID:eqJJBtIM0 オブジェクト指向では、変数は公開しない。
公開できるのは、処理(関数)だけ
クラス内を開発する人と、そのクラスを使う人は、別の会社・人を想定しているから、
変数にアクセスさせたら、絶対にダメ
クラス内を作っている開発者は、後で付け加えられる処理を予想できないから。
クラス内を開発した後に、別人が変数にアクセスして、動きを変えたらバグる
異なる会社間での開発を可能にする、
オブジェクト指向の大原則・カプセル化
公開できるのは、処理(関数)だけ
クラス内を開発する人と、そのクラスを使う人は、別の会社・人を想定しているから、
変数にアクセスさせたら、絶対にダメ
クラス内を作っている開発者は、後で付け加えられる処理を予想できないから。
クラス内を開発した後に、別人が変数にアクセスして、動きを変えたらバグる
異なる会社間での開発を可能にする、
オブジェクト指向の大原則・カプセル化
221デフォルトの名無しさん (アウアウエー Sa52-PKj8)
2018/04/25(水) 17:50:35.02ID:ClmIY1xNa プロパティから構造体を返すとコピーってのは意味わかんないね
コピーされるのは右辺がプロパティだろうがフィルドだろうが同じだよw
>>211
少なくともパブリックなメンバーに関しては、あえてフィールドを使う理由はないって
理解でいいと思うよ。例外はアンマネージドコードの呼び出しで使う型を定義する場合ぐらい。
フォールドのプロパティーに対して優位な点は
(1) 軽量である
(2) 簡潔に書ける
このぐらいしかない。
(1)が重要なケースなんかまずない。
(2)については、古いC#はともかく今のC#は儒分簡潔に書けるようになって来てる。
コピーされるのは右辺がプロパティだろうがフィルドだろうが同じだよw
>>211
少なくともパブリックなメンバーに関しては、あえてフィールドを使う理由はないって
理解でいいと思うよ。例外はアンマネージドコードの呼び出しで使う型を定義する場合ぐらい。
フォールドのプロパティーに対して優位な点は
(1) 軽量である
(2) 簡潔に書ける
このぐらいしかない。
(1)が重要なケースなんかまずない。
(2)については、古いC#はともかく今のC#は儒分簡潔に書けるようになって来てる。
222デフォルトの名無しさん (アウアウエー Sa52-PKj8)
2018/04/25(水) 17:59:38.62ID:ClmIY1xNa >>220
カプセル化っていのは、触る必要がないもの、触られては困るものを隠すこと。
この質問にはほとんど関係ない話w
フィールドをプロパティにしようが、触る必要がない文脈で触られることを防げるわけじゃないw
せいぜいセッターで値が適切かどうかチェックできる程度
カプセル化っていのは、触る必要がないもの、触られては困るものを隠すこと。
この質問にはほとんど関係ない話w
フィールドをプロパティにしようが、触る必要がない文脈で触られることを防げるわけじゃないw
せいぜいセッターで値が適切かどうかチェックできる程度
223デフォルトの名無しさん (ワッチョイ 1a1e-fvqh)
2018/04/25(水) 18:00:19.55ID:EO6K8yEq0224デフォルトの名無しさん (ワッチョイ 1a1e-fvqh)
2018/04/25(水) 18:04:12.14ID:EO6K8yEq0 >>222
質問者は
>オブジェクト指向のプログラミングでは
>変数じゃなくてプロパティにアクセスさせるべき
>みたいな事をよく聞くんだけど
で書いて始めてんじゃん。だから、カプセル化の説明した方がまずいいんじゃねぇか??
質問者は
>オブジェクト指向のプログラミングでは
>変数じゃなくてプロパティにアクセスさせるべき
>みたいな事をよく聞くんだけど
で書いて始めてんじゃん。だから、カプセル化の説明した方がまずいいんじゃねぇか??
225デフォルトの名無しさん (アウアウエー Sa52-PKj8)
2018/04/25(水) 18:09:53.61ID:ClmIY1xNa226デフォルトの名無しさん (ワッチョイ 1a1e-fvqh)
2018/04/25(水) 18:14:14.76ID:EO6K8yEq0 >>224
>オブジェクト指向のプログラミングでは
>変数じゃなくてプロパティにアクセスさせるべき
>みたいな事をよく聞くんだけど
を質問者が引き合いに出した以上、質問者はここからはしっかりわかってなくて、色々ごちゃ混ぜになってると
思われる。だから、そっから説明しなきゃ、おそらく習得できない。
>オブジェクト指向のプログラミングでは
>変数じゃなくてプロパティにアクセスさせるべき
>みたいな事をよく聞くんだけど
を質問者が引き合いに出した以上、質問者はここからはしっかりわかってなくて、色々ごちゃ混ぜになってると
思われる。だから、そっから説明しなきゃ、おそらく習得できない。
227デフォルトの名無しさん (ワッチョイ 9a98-9jjH)
2018/04/25(水) 18:17:11.69ID:lzwohvOS0 自分はオブジェクト指向じゃない言語をちょっとだけやってたんだけど
そういう言語では、コードの最初の方に
public bool JudgFlag = true
って1行書いて、それにどこからでもアクセスするみたいな感じだと思うんだ
(全部独学だからこれも正解なのか知らんけど)
でも、オブジェクト指向ではこれやったらダメなんだよね?
ってのが知りたい
後、俺マジで初心者だから
質問文で聞きたいことが正確に表現できてる保証ないwすまん
そういう言語では、コードの最初の方に
public bool JudgFlag = true
って1行書いて、それにどこからでもアクセスするみたいな感じだと思うんだ
(全部独学だからこれも正解なのか知らんけど)
でも、オブジェクト指向ではこれやったらダメなんだよね?
ってのが知りたい
後、俺マジで初心者だから
質問文で聞きたいことが正確に表現できてる保証ないwすまん
228デフォルトの名無しさん (ワッチョイ 1a1e-fvqh)
2018/04/25(水) 18:20:06.19ID:EO6K8yEq0 >>225だった・・
229デフォルトの名無しさん (アウアウエー Sa52-PKj8)
2018/04/25(水) 18:22:03.13ID:ClmIY1xNa230212 (ワッチョイ 4e80-c0HJ)
2018/04/25(水) 18:26:03.04ID:eqJJBtIM0 >変数じゃなくてプロパティにアクセスさせるべき
これが異なる会社間での開発を可能にする、
オブジェクト指向の大原則・カプセル化
どの教科書にも書いてある
その理由は、クラス内を開発している会社・人と、
そのクラスを使う会社・人は、異なっているから
オブジェクト指向では、これらの2つの立場からの見方が大切。
君はどちらの開発者ですか?
クラスを作る方・使う方?
クラス内を開発しているのは、過去だから、
そこから未来の、クラスを使う人の動きを予測できない
だから、変数に直接触らせたらダメ。
そこまで予測して、クラス内を作れないから
これが異なる会社間での開発を可能にする、
オブジェクト指向の大原則・カプセル化
どの教科書にも書いてある
その理由は、クラス内を開発している会社・人と、
そのクラスを使う会社・人は、異なっているから
オブジェクト指向では、これらの2つの立場からの見方が大切。
君はどちらの開発者ですか?
クラスを作る方・使う方?
クラス内を開発しているのは、過去だから、
そこから未来の、クラスを使う人の動きを予測できない
だから、変数に直接触らせたらダメ。
そこまで予測して、クラス内を作れないから
231デフォルトの名無しさん (ワッチョイ 9a98-9jjH)
2018/04/25(水) 18:31:21.63ID:lzwohvOS0232212 (ワッチョイ 4e80-c0HJ)
2018/04/25(水) 18:31:24.51ID:eqJJBtIM0233デフォルトの名無しさん (ワッチョイ 0bb3-x/V4)
2018/04/25(水) 18:36:43.91ID:Y4/R4Zt40 >俺が1人で小規模な開発してるだけだから
>いまいちオブジェクト指向のメリットを感じる場面が少ないのかな
まあこれだな
>>212の言ってる事は、OOPの「思想」としては間違いなく正しい
但し、単独での小規模開発という状況を前提にするなら「現実的なメリット」は無いに等しい
>いまいちオブジェクト指向のメリットを感じる場面が少ないのかな
まあこれだな
>>212の言ってる事は、OOPの「思想」としては間違いなく正しい
但し、単独での小規模開発という状況を前提にするなら「現実的なメリット」は無いに等しい
234デフォルトの名無しさん (ワッチョイ 1a1e-fvqh)
2018/04/25(水) 18:37:15.31ID:EO6K8yEq0235デフォルトの名無しさん (ワッチョイ 4703-AlOi)
2018/04/25(水) 18:47:02.51ID:yqUO4I2d0 おまえら変数は公開しちゃだめだけど、プロパティやgetter/setterなら公開してもいいって思っとるやろw
236デフォルトの名無しさん (アウアウエー Sa52-PKj8)
2018/04/25(水) 18:48:12.94ID:ClmIY1xNa >>231
どこの世界でも教条的(思い込みが激しいともいう)人はいるからねw
外部から取得/設定してもらう必要がある値をフィールドではなくプロパティにしたからって
ヒューマンエラーを減らす効果なんかないのは事実
ただ機能がより少ないフィールドをあえて使うことないでしょってだけの話
オブジェクトの公開するデータは必ずしもいつも変数に入っているわけではなく、
何らかの処理の結果を返す場合もあって、その場合はプロパティになるから、
だったら全部プロパティの方が統一感があるという考え方はあるかもしれない
どこの世界でも教条的(思い込みが激しいともいう)人はいるからねw
外部から取得/設定してもらう必要がある値をフィールドではなくプロパティにしたからって
ヒューマンエラーを減らす効果なんかないのは事実
ただ機能がより少ないフィールドをあえて使うことないでしょってだけの話
オブジェクトの公開するデータは必ずしもいつも変数に入っているわけではなく、
何らかの処理の結果を返す場合もあって、その場合はプロパティになるから、
だったら全部プロパティの方が統一感があるという考え方はあるかもしれない
237デフォルトの名無しさん (ワンミングク MM8a-Pnzf)
2018/04/25(水) 18:49:19.77ID:s99z6Kr1M >>233
嘘おしえるなよ
嘘おしえるなよ
238デフォルトの名無しさん (ワッチョイ 9a98-9jjH)
2018/04/25(水) 19:04:09.02ID:lzwohvOS0 まとめると
「1人で小規模なコード書いてるだけなら
public bool JudgFlag = true
を書き換えたらダメなことぐらい自明だから、フィールドに1行書いて終わりでいい
若干雑だけど楽」
って考え方と
「いや、自分で決めたルールを自分で忘れることもあるから
ちゃんとプロパティにして触れない様にすべき
多少面倒でもコストを払うメリットがある」
って考えの対立なのかな
get;set;とか全く意味がわからなかった頃の嫌なイメージのせいで
プロパティを書く事が、「面倒・難しい」って体が拒否反応しちゃうんだよね
自動プロパティとか実装されてる今の時代に
何言ってんだって笑われそうだけど
まあ、でも色々モヤモヤしてた所がスッキリしました
ありがとう
「1人で小規模なコード書いてるだけなら
public bool JudgFlag = true
を書き換えたらダメなことぐらい自明だから、フィールドに1行書いて終わりでいい
若干雑だけど楽」
って考え方と
「いや、自分で決めたルールを自分で忘れることもあるから
ちゃんとプロパティにして触れない様にすべき
多少面倒でもコストを払うメリットがある」
って考えの対立なのかな
get;set;とか全く意味がわからなかった頃の嫌なイメージのせいで
プロパティを書く事が、「面倒・難しい」って体が拒否反応しちゃうんだよね
自動プロパティとか実装されてる今の時代に
何言ってんだって笑われそうだけど
まあ、でも色々モヤモヤしてた所がスッキリしました
ありがとう
239デフォルトの名無しさん (スップ Sdba-BoQL)
2018/04/25(水) 19:24:43.78ID:q/XXvHKQd >>236
処理の結果を返すならメソッドにしろよ
処理の結果を返すならメソッドにしろよ
240デフォルトの名無しさん (アウアウエー Sa52-PKj8)
2018/04/25(水) 20:11:47.21ID:ClmIY1xNa241デフォルトの名無しさん (ワッチョイ 3bc3-9jjH)
2018/04/25(水) 20:30:49.45ID:XWOG1WtT0 フォーム間のデータ受け渡しのやり方について教えてください
プログラムを起動して、最初にForm1でパラメータなどを設定、次にForm2で設定した
パラメータを元にデータを編集したいとします
(Form1で編集済みのデータをForm2に表示する、でもいいです)
このときにデータを受け渡すのは、program.cs で Application.Run(new Form1()); と
呼び出す前に
1. Form2 のインスタンスを作っておいて、それを Form1 の引数として与えてやる
2. 必要なデータのインスタンスを Main() 内に用意しておいて、そのインスタンスを
Form1 と Form2 のそれぞれに送る
3. どっちもダメで他の方法がある
のどれが良いのでしょうか。
Form1 の中で Form2 のインスタンスを作成して、Form2 に送るという方法も考えましたが、
そうすると Form1 が不要になったときに Dispose() すると Form2 も落ちてしまいます。
プログラムを起動して、最初にForm1でパラメータなどを設定、次にForm2で設定した
パラメータを元にデータを編集したいとします
(Form1で編集済みのデータをForm2に表示する、でもいいです)
このときにデータを受け渡すのは、program.cs で Application.Run(new Form1()); と
呼び出す前に
1. Form2 のインスタンスを作っておいて、それを Form1 の引数として与えてやる
2. 必要なデータのインスタンスを Main() 内に用意しておいて、そのインスタンスを
Form1 と Form2 のそれぞれに送る
3. どっちもダメで他の方法がある
のどれが良いのでしょうか。
Form1 の中で Form2 のインスタンスを作成して、Form2 に送るという方法も考えましたが、
そうすると Form1 が不要になったときに Dispose() すると Form2 も落ちてしまいます。
242デフォルトの名無しさん (ワッチョイ 5bd2-8E8L)
2018/04/25(水) 20:44:39.30ID:3+niHUT+0 【マイトLーヤとPS4】 FFとDQの最新作、VR開発は危険、プレーヤーの日常感覚を損なうおそれ
http://rosie.5ch.net/test/read.cgi/liveplus/1524621704/l50
http://rosie.5ch.net/test/read.cgi/liveplus/1524621704/l50
243デフォルトの名無しさん (スップ Sdba-BoQL)
2018/04/25(水) 21:00:51.62ID:q/XXvHKQd >>240
それは右座標を計算して返しただけであって処理を実行するのとは違う
面倒だからここ読んで
https://msdn.microsoft.com/ja-jp/library/ms229054(v=vs.100).aspx
それは右座標を計算して返しただけであって処理を実行するのとは違う
面倒だからここ読んで
https://msdn.microsoft.com/ja-jp/library/ms229054(v=vs.100).aspx
244デフォルトの名無しさん (ワッチョイ e717-9jjH)
2018/04/25(水) 21:06:28.54ID:XHhjs7vi0245デフォルトの名無しさん (ワッチョイ 23ab-9jjH)
2018/04/25(水) 21:09:48.37ID:ckNZ5jJB0 メッセージキューを勉強中なんですが、
MSMQとMessageQueueクラスって何が違うんでしょうか?
MSMQとMessageQueueクラスって何が違うんでしょうか?
246デフォルトの名無しさん (ワッチョイ 3bc3-9jjH)
2018/04/25(水) 21:17:11.34ID:XWOG1WtT0 >>244
ありがとうございます
この場合、もう二度と Form1 を使わないという状況であれば、Form2 の ShowDialog を
呼び出す前に this.Hide(); で隠しておいて、戻ってきたら this.Dispose(); でしょうか
Hide() だけで処理を抜けるコードを書き忘れて、いつまでもプログラムが残り続けるバグを
やったので、二度と戻ってこないフォームは Dispose() したいのです
ありがとうございます
この場合、もう二度と Form1 を使わないという状況であれば、Form2 の ShowDialog を
呼び出す前に this.Hide(); で隠しておいて、戻ってきたら this.Dispose(); でしょうか
Hide() だけで処理を抜けるコードを書き忘れて、いつまでもプログラムが残り続けるバグを
やったので、二度と戻ってこないフォームは Dispose() したいのです
247デフォルトの名無しさん (ワッチョイ 3bc3-9jjH)
2018/04/25(水) 21:18:56.58ID:XWOG1WtT0 今思ったのですが、そういう使い方だとむしろ Form2 を非表示で実行しておいて、
その中で Form1 を呼び出すべき?
で、Form1 を抜けたら this.Show(); とか
その中で Form1 を呼び出すべき?
で、Form1 を抜けたら this.Show(); とか
248デフォルトの名無しさん (アウアウエー Sa52-PKj8)
2018/04/25(水) 21:20:04.33ID:ClmIY1xNa >>243
頭悪そうだけど、単にバッキングフィールドの値をそのまま返すのではないケースを
「何らかの処理の結果を返す」と言っている。
処理 = 高価な処理ではない。
重かろうが単なる足し算だろうが処理は処理だ
頭悪そうだけど、単にバッキングフィールドの値をそのまま返すのではないケースを
「何らかの処理の結果を返す」と言っている。
処理 = 高価な処理ではない。
重かろうが単なる足し算だろうが処理は処理だ
249デフォルトの名無しさん (スププ Sdba-TcdZ)
2018/04/25(水) 22:11:10.02ID:jHFwiJ5Yd Applicationに共通のパラメータ持って、Form1とForm2で共有しちゃダメなんか
250デフォルトの名無しさん (アウアウウー Sa47-Mp6C)
2018/04/25(水) 22:17:09.52ID:fPsUNFh1a 使い方次第じゃないかなとは思う
双方で同時に書き換えたりするならやめたほうがいい
それ以前にタダクソダサイと思う
双方で同時に書き換えたりするならやめたほうがいい
それ以前にタダクソダサイと思う
251デフォルトの名無しさん (ワッチョイ b7e3-i2qG)
2018/04/25(水) 22:41:48.50ID:TqrgnB+10 シングルトンの出番だ
252デフォルトの名無しさん (ワッチョイ 1ad2-0snq)
2018/04/25(水) 23:10:10.54ID:Kx9WW2Xx0 >>216
これやろ
これやろ
253デフォルトの名無しさん (アウアウカー Sa43-AqIk)
2018/04/25(水) 23:38:15.43ID:8cfef6Y0a もう親フォーム作れば?
254デフォルトの名無しさん (ワッチョイ a1d6-c97c)
2018/04/26(木) 14:36:05.39ID:ooZK6FZP0 自作ツールをソースコード付きで公開したいのですが、
パブリックドメインソフトにするのが最善ですか?
パブリックドメインソフトにするのが最善ですか?
255デフォルトの名無しさん (ワントンキン MMd3-qfDI)
2018/04/26(木) 15:37:00.65ID:s8t3AsxEM .netで簡単に実現できる機能(メールや圧縮、画像処理等)をネイティブCのアプリで利用したいです。VC++6.0の(C++ではなく)C言語で作るコンソールアプリでです。
C#で作っでdllを作って、C++のdllでそれをコールする関数を公開すれば実現可能ですが、もっといいやり方ないでしょうか?
C#で作っでdllを作って、C++のdllでそれをコールする関数を公開すれば実現可能ですが、もっといいやり方ないでしょうか?
256デフォルトの名無しさん (ブーイモ MMab-fo8q)
2018/04/26(木) 15:39:07.13ID:B934JXdmM >>254
今のOSSはMITライセンスでGithubに晒すのが主流
今のOSSはMITライセンスでGithubに晒すのが主流
257デフォルトの名無しさん (ブーイモ MM85-MzrX)
2018/04/26(木) 16:34:09.89ID:+C2ovlRwM >>255
つ C++/CLI
つ C++/CLI
258デフォルトの名無しさん (ブーイモ MMab-fo8q)
2018/04/26(木) 17:05:43.31ID:B934JXdmM259デフォルトの名無しさん (ワッチョイ a1d7-WE9q)
2018/04/26(木) 19:19:32.70ID:leQJqI/Q0260241 (ワッチョイ 11c3-luqG)
2018/04/26(木) 20:39:08.13ID:8i3JVbEw0 皆様ありがとうございました
決まりきった定番の書き方はない、と理解すれば良さそうですね
自分で色々試してみます
決まりきった定番の書き方はない、と理解すれば良さそうですね
自分で色々試してみます
261デフォルトの名無しさん (ワッチョイ 11c3-luqG)
2018/04/26(木) 21:03:55.12ID:8i3JVbEw0 今度はインデクサについて教えてください
https://ideone.com/TlRwJS
例として上記のようなコードを書いてみました
これで、インデクサを使って例えば anml["whale"] とすれば1が返ってくるような、
そういうものを作りたいと思います
(classified, lifeの各プロパティはユニークではなく、specificのみユニークとします)
本を紐解きながら書こうとしたのですが、animalsクラスの中ではリストになっていないので
書く場所はなさそうです。でもMainメソッドでは利用したい側なので、ここに実装することも
できない気がします。
多分インデクサの考え方そのものがわかっていません。どなたか教えていただけると
嬉しいです。
https://ideone.com/TlRwJS
例として上記のようなコードを書いてみました
これで、インデクサを使って例えば anml["whale"] とすれば1が返ってくるような、
そういうものを作りたいと思います
(classified, lifeの各プロパティはユニークではなく、specificのみユニークとします)
本を紐解きながら書こうとしたのですが、animalsクラスの中ではリストになっていないので
書く場所はなさそうです。でもMainメソッドでは利用したい側なので、ここに実装することも
できない気がします。
多分インデクサの考え方そのものがわかっていません。どなたか教えていただけると
嬉しいです。
262デフォルトの名無しさん (ワッチョイ b917-luqG)
2018/04/26(木) 21:18:02.97ID:i4ujFDqn0 ListじゃなくてDictionaryを使えばOK
263デフォルトの名無しさん (ワッチョイ 19e3-luqG)
2018/04/26(木) 21:54:22.87ID:IFgymZMf0 anml.FindIndex(_ => _.specific == "whale")でよくね?
264デフォルトの名無しさん (ワッチョイ 19e3-Im5u)
2018/04/27(金) 03:52:18.55ID:3sBZO5RI0 インデクサてのは自作のクラスにつけるプロパティみたいなものだから、List<animals>を内蔵するクラス作って
public int this[string p]{
get{ /* ここに検索して結果を返すコード書く */ }
}
でおkなんじゃねか?知らんけど。
public int this[string p]{
get{ /* ここに検索して結果を返すコード書く */ }
}
でおkなんじゃねか?知らんけど。
265デフォルトの名無しさん (ワッチョイ 11c3-luqG)
2018/04/27(金) 07:42:26.78ID:vWqu6ayt0 >>262
すいません、理解のレベルが低いので、具体的にどう実装すればよいのかわかりませんでした
var anml = new Dictionary<animals, string>;
としてディクショナリは実装できたとして、要素追加の際 Add メソッドをどう書くのか、理解が
追いついていないようです
>>263
この書き方で、求めている操作は実現できそうです
ラムダ式の理解が怪しいのは勉強するとして、毎回これを書くと面倒&間違えそうなのですが、
これは「十分に簡潔な書き方」なのか、それとも「メソッド等でさらに簡潔に書ける」のか、どちら
でしょうか。
>>264
この場合、各プロパティにアクセスする際は anml[i].specific とかではなくて anml(i, specific)等
メソッドを介してアクセスすることになるのでしょうか?
すいません、理解のレベルが低いので、具体的にどう実装すればよいのかわかりませんでした
var anml = new Dictionary<animals, string>;
としてディクショナリは実装できたとして、要素追加の際 Add メソッドをどう書くのか、理解が
追いついていないようです
>>263
この書き方で、求めている操作は実現できそうです
ラムダ式の理解が怪しいのは勉強するとして、毎回これを書くと面倒&間違えそうなのですが、
これは「十分に簡潔な書き方」なのか、それとも「メソッド等でさらに簡潔に書ける」のか、どちら
でしょうか。
>>264
この場合、各プロパティにアクセスする際は anml[i].specific とかではなくて anml(i, specific)等
メソッドを介してアクセスすることになるのでしょうか?
266デフォルトの名無しさん (アウアウウー Sa45-fo8q)
2018/04/27(金) 07:59:23.04ID:Ek6IpJbsa267デフォルトの名無しさん (ワッチョイ 19e3-luqG)
2018/04/27(金) 08:18:37.17ID:3sBZO5RI0 番号が欲しいのかanimalsオブジェクトが欲しいのか
268デフォルトの名無しさん (オッペケ Sr0d-oETR)
2018/04/27(金) 12:24:44.14ID:/0qPzcyMr269デフォルトの名無しさん (ワッチョイ 93e3-cUH7)
2018/04/27(金) 23:13:48.06ID:9YiDAi7f0 Index番号が欲しいなら>>263で十分じゃないか?
見つからなかったとき例外吐くらしいから気をつけろい
見つからなかったとき例外吐くらしいから気をつけろい
270デフォルトの名無しさん (ワッチョイ 93e3-cUH7)
2018/04/27(金) 23:15:15.73ID:9YiDAi7f0 まちがえた。例外じゃなくて-1だ。すんまそ。回線で首吊ってくる
271デフォルトの名無しさん (ワッチョイ 93d2-SiOx)
2018/04/28(土) 01:50:07.49ID:E8vnEfND0 >>263
アンダーバーはやめとけ
アンダーバーはやめとけ
272デフォルトの名無しさん (ワッチョイ b3eb-cUH7)
2018/04/28(土) 01:50:20.46ID:fiFvLr6Y0 XAMLファイルからボタンを削除した場合、CSコードの方に呼び出されることのないコールバック関数の宣言が残ってしまます
こういうのを効率よく削除する方法ってないのでしょうか?
こういうのを効率よく削除する方法ってないのでしょうか?
273デフォルトの名無しさん (ワッチョイ 93d2-SiOx)
2018/04/28(土) 01:54:51.50ID:E8vnEfND0 >>272
WPF?
WPF?
274デフォルトの名無しさん (ワッチョイ b3eb-cUH7)
2018/04/28(土) 02:32:39.82ID:fiFvLr6Y0 >>273
Xamarin.Formsで使っています
Xamarin.Formsで使っています
275デフォルトの名無しさん (ワントンキン MMad-kOUo)
2018/04/28(土) 07:22:01.22ID:bL+b5OsrM >>272
XML解析とリフレクション
XML解析とリフレクション
276デフォルトの名無しさん (ワッチョイ 112d-c97c)
2018/04/28(土) 12:46:33.34ID:5pWODy2i0 ここでいいのかわかりませんが、質問させてください。
C#でフレームワーク ASP.Net MVCで作っています。
テーブルのフォームをPOSTしたいのですが、
動的に作成した行をどのようにサーバー側で受け取ればよいのかわかりません。
<td>
<input class="form-control" id="no1" name="no2" type="text" value="" />
</td>
<td>
<input class="form-control" id="no2" name="no2" type="text" value="" />
</td>
このように、複数行があって、noの後ろの数値は、行を追加したら増えるように
javascriptで制御しています。
サーバー側の処理として、引数を
(string no1, string no2, ・・・)と列挙してすべて書けば、
POSTデータを受け取れることは確認済みです。
ただ、ユーザーの操作で行を何行追加するかもわからず、あらかじめ想定する
最大数の引数を列挙するのも現実的ではありません。
すべてのフォームデータを一挙に受け取って、
サーバー内部のロジックで処理する方法はないでしょうか。
C#でフレームワーク ASP.Net MVCで作っています。
テーブルのフォームをPOSTしたいのですが、
動的に作成した行をどのようにサーバー側で受け取ればよいのかわかりません。
<td>
<input class="form-control" id="no1" name="no2" type="text" value="" />
</td>
<td>
<input class="form-control" id="no2" name="no2" type="text" value="" />
</td>
このように、複数行があって、noの後ろの数値は、行を追加したら増えるように
javascriptで制御しています。
サーバー側の処理として、引数を
(string no1, string no2, ・・・)と列挙してすべて書けば、
POSTデータを受け取れることは確認済みです。
ただ、ユーザーの操作で行を何行追加するかもわからず、あらかじめ想定する
最大数の引数を列挙するのも現実的ではありません。
すべてのフォームデータを一挙に受け取って、
サーバー内部のロジックで処理する方法はないでしょうか。
277デフォルトの名無しさん (ワッチョイ 93d2-/ky+)
2018/04/28(土) 13:53:59.42ID:Jn+S73+O0278デフォルトの名無しさん (アウアウウー Sa45-fo8q)
2018/04/28(土) 14:50:29.57ID:X/1aPQ6Ma どうせJavaScript書いてるんならJavaScript側でJSONの配列に纏めてからAJAXでポストするのもアリ
279デフォルトの名無しさん (ワッチョイ 71b3-luqG)
2018/04/28(土) 21:58:22.96ID:4vnB69wL0 [[[ ][ ]]]\[[]] [[[]]]],[[[ [][] ]
280デフォルトの名無しさん (ワッチョイ 419f-YWv5)
2018/04/28(土) 22:36:40.95ID:vp8gWtwG0 Entity FrameworkでDBへのselectとかのリトライしたい場合ってどのようにすべきでしょうか
一時的なエラーだったりしたらもう一回トライとかしたいのです
例外全キャッチするのも無駄なのかなぁと思いまして
一時的なエラーだったりしたらもう一回トライとかしたいのです
例外全キャッチするのも無駄なのかなぁと思いまして
281デフォルトの名無しさん (ブーイモ MMb3-fo8q)
2018/04/28(土) 23:02:28.71ID:8LDPRSMfM 普通のRDBなら一時的なエラーなんか滅多にないだろ
400でいいよそんなもん
400でいいよそんなもん
282デフォルトの名無しさん (ワッチョイ 2bc9-luqG)
2018/04/28(土) 23:05:27.66ID:yGhXA9la0 Azure相手だと普通にあるで
283デフォルトの名無しさん (ワッチョイ 93d2-SiOx)
2018/04/28(土) 23:08:01.89ID:E8vnEfND0 >>280
DbExecutionStrategy
DbExecutionStrategy
284デフォルトの名無しさん (ワッチョイ 419f-YWv5)
2018/04/28(土) 23:33:01.91ID:vp8gWtwG0285デフォルトの名無しさん (ワッチョイ 71b3-luqG)
2018/04/29(日) 20:34:09.03ID:My7UiDyw0 [[[ []]]]*[[ [][] ][] } } {} [[[
286デフォルトの名無しさん (ワッチョイ a1d7-AYWH)
2018/05/02(水) 19:00:22.89ID:As5kU4Fr0 とりあえず、連休ぐらいゆっくりな
オマエラ
オマエラ
287デフォルトの名無しさん (アウアウウー Sacf-pRpi)
2018/05/03(木) 10:44:28.97ID:9ar3mEaia 連休は機械学習でずっと計算させる予定
人間は休む
人間は休む
288デフォルトの名無しさん (ブーイモ MMef-+yEv)
2018/05/03(木) 13:02:24.11ID:Nqnp2049M 人間はILコードを覚えてハンドアセンブル出きるようになるべき
289デフォルトの名無しさん (ワッチョイ bf9e-DJjQ)
2018/05/03(木) 13:26:57.92ID:YEWKmWCr0 winformの左辺や上辺をドラッグするとフォームのサイズが変わらずにフォームが移動してしまいますが
サイズを変更するように設定するプロパティなどはありますでしょうか
コードを書く必要がありますか?
サイズを変更するように設定するプロパティなどはありますでしょうか
コードを書く必要がありますか?
290デフォルトの名無しさん (ワッチョイ aa60-pRpi)
2018/05/03(木) 14:32:14.37ID:hvfEvXXP0291デフォルトの名無しさん (ブーイモ MMef-+yEv)
2018/05/03(木) 14:41:33.60ID:Nqnp2049M >>290
情報処理試験のCASLとかも?
情報処理試験のCASLとかも?
292デフォルトの名無しさん (ワッチョイ aa60-pRpi)
2018/05/03(木) 14:46:31.58ID:hvfEvXXP0293デフォルトの名無しさん (ブーイモ MMef-hPxN)
2018/05/03(木) 14:47:30.87ID:1IvMgmqBM 次元が違うだろ
ILは高級なオブジェクト指向言語
そもそも機械語に似せることを意図されていない
ILは高級なオブジェクト指向言語
そもそも機械語に似せることを意図されていない
294デフォルトの名無しさん (ワッチョイ aa60-pRpi)
2018/05/03(木) 14:51:41.82ID:hvfEvXXP0 >>293
ハードウェアマシン語とプログラム言語との間に、なぜ仮想マシンと仮想的な言語(IL/JVM)が採用されるようになったのか?そこが今でも判然としないのです…
ハードウェアマシン語とプログラム言語との間に、なぜ仮想マシンと仮想的な言語(IL/JVM)が採用されるようになったのか?そこが今でも判然としないのです…
295デフォルトの名無しさん (ワッチョイ 53b3-EG9I)
2018/05/03(木) 15:42:16.53ID:+UDEH62l0 >>294
ドライバは何故存在するの?つってる様なもんだぞそれ
ドライバは何故存在するの?つってる様なもんだぞそれ
296デフォルトの名無しさん (ワッチョイ aa60-pRpi)
2018/05/03(木) 15:45:53.15ID:hvfEvXXP0297デフォルトの名無しさん (ワッチョイ 53b3-EG9I)
2018/05/03(木) 16:06:28.64ID:+UDEH62l0 仮想マシンに焦点を絞るなら、ハードウェアの差異を吸収する為では
(.netはJavaVMほどあちこちに移植されてないというだけで)
ILに関して言えば、複数の言語(C#、VB.net、F#、他)を共通のフレームワーク上で動かせる様にする為
(.netはJavaVMほどあちこちに移植されてないというだけで)
ILに関して言えば、複数の言語(C#、VB.net、F#、他)を共通のフレームワーク上で動かせる様にする為
298デフォルトの名無しさん (ワッチョイ 0a5d-N4mI)
2018/05/03(木) 16:13:17.79ID:ioUmuI6x0 >>297
それならハードウェアや言語の統一を目指したほうが建設的なのでは?
それならハードウェアや言語の統一を目指したほうが建設的なのでは?
299デフォルトの名無しさん (ワッチョイ 53b3-EG9I)
2018/05/03(木) 16:19:16.65ID:+UDEH62l0 >>298
不可能だろう
収斂進化により表面上似た様な機能を搭載する事はあっても、内部構造は特許なり権利なり絡んで来るから同じに出来ないし
JavaScript+CSS3ですらブラウザベンダ間で足並み揃えられないのに、言語の統一なんて出来る訳が無い
不可能だろう
収斂進化により表面上似た様な機能を搭載する事はあっても、内部構造は特許なり権利なり絡んで来るから同じに出来ないし
JavaScript+CSS3ですらブラウザベンダ間で足並み揃えられないのに、言語の統一なんて出来る訳が無い
300デフォルトの名無しさん (ワッチョイ aa60-pRpi)
2018/05/03(木) 16:37:31.89ID:hvfEvXXP0 現状、中間言語側でも少なくとも JVM/.net framework にわかれちゃっているからねえ…
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【社会】40代以上のおじさん・おばさんは叩いてオッケーという風潮はなぜ加速したのか [七波羅探題★]
- 日本の場合、いつも凶悪な行動に移すのは極左なんだよね。右翼はほとんどなにもしない [201193242]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【朗報】外務省局長、中国側の要求を断固拒否。「高市さんの答弁は日本政府の立場を変えるものではないし、撤回しない」 [519511584]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【実況】博衣こよりのえちえち歌枠🧪
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
