!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part146
https://mevius.5ch.net/test/read.cgi/tech/1576069931/
■関連スレ
C#, C♯, C#相談室 Part95
https://mevius.5ch.net/test/read.cgi/tech/1508168482/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
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/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
ふらっと C#,C♯,C#(初心者用) Part147
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (エムゾネ FF9f-HF0o)
2020/02/19(水) 17:25:41.55ID:IsrGexiaF453今度はビルドとはとか言い出すんだろうか? (ドコグロ MM2e-f1XF)
2020/04/24(金) 21:15:06.69ID:WpI80Xm2M454デフォルトの名無しさん (アウアウウー Sab5-BpYI)
2020/04/24(金) 21:18:29.65ID:hmKdXDZUa455今度はビルドとはとか言い出すんだろうか? (ドコグロ MM02-f1XF)
2020/04/24(金) 21:22:09.71ID:/oHWXBMTM456デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/24(金) 21:24:56.92ID:agN2oJUo0 >>453
日本語が通じていなかったようだ
日本語が通じていなかったようだ
457今度はビルドとはとか言い出すんだろうか? (ドコグロ MM40-f1XF)
2020/04/24(金) 21:56:18.12ID:ttgIjm5mM >>456
はいはいw
はいはいw
458デフォルトの名無しさん (ワッチョイ 7001-PxOI)
2020/04/24(金) 22:52:02.97ID:xndEmFws0 VB6のガベージコレクタがうんこだった頃のトラウマのせい?
459デフォルトの名無しさん (ワッチョイ 41a7-pY0b)
2020/04/24(金) 23:03:19.86ID:qZ8JT++I0 グローバルインスタンスホルダーを使ってるときの明示的な参照無効化だろ
ローカルじゃ意味ない
ローカルじゃ意味ない
460デフォルトの名無しさん (ワッチョイ 5302-1Gce)
2020/04/24(金) 23:32:16.92ID:sopKw+cH0 初心者は黙ってnull代入しておけ
意味がないとか決めつけるのは10年早い
意味がないとか決めつけるのは10年早い
461デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/24(金) 23:35:58.32ID:agN2oJUo0 >>460
初心者こそnull代入なんてすべきじゃない。非常に限られた特別な場合だけ。
初心者こそnull代入なんてすべきじゃない。非常に限られた特別な場合だけ。
462デフォルトの名無しさん (ワッチョイ 15cf-1Gce)
2020/04/24(金) 23:41:17.84ID:FbIpmtWO0 >>409
何が?
何が?
463デフォルトの名無しさん (ワッチョイ 968e-A1EL)
2020/04/25(土) 00:06:19.49ID:XJisoOEM0 >>451
Delphiはfreeする
Delphiはfreeする
464デフォルトの名無しさん (ワッチョイ ae63-7TXW)
2020/04/25(土) 00:53:28.01ID:un7mPScC0 ローカル変数は自動で解放されるんだからnull代入する意味がわからん
465デフォルトの名無しさん (ワッチョイ 74da-uMKU)
2020/04/25(土) 01:03:57.76ID:EchrqtYB0 インスタンスへの参照が残ってればGC対象にならない
と言う説明の為に適当にローカル変数を使っただけだと思う
でも読者はローカル変数にnullを入れる事が正しいと思うだろうな
と言う説明の為に適当にローカル変数を使っただけだと思う
でも読者はローカル変数にnullを入れる事が正しいと思うだろうな
466デフォルトの名無しさん (ワッチョイ 5c63-QpYc)
2020/04/25(土) 04:46:37.14ID:5x5kZrrV0 質問です
Process.Start メソッドの処理が何故か急にやたら時間がかかるようになってしまいました。
いろいろ条件を変えて調べてみましたが、
実行ファイル(拡張子がexeのもの)を明示的に指定するとすぐ開けるようです。
開きたいファイルに関連付けされた実行ファイルを取得することで解決しそうですが
あまりにイケてないのでもっと良い解決方法を探しています。どなたかご存じないでしょうか。
Process.Start メソッドの処理が何故か急にやたら時間がかかるようになってしまいました。
いろいろ条件を変えて調べてみましたが、
実行ファイル(拡張子がexeのもの)を明示的に指定するとすぐ開けるようです。
開きたいファイルに関連付けされた実行ファイルを取得することで解決しそうですが
あまりにイケてないのでもっと良い解決方法を探しています。どなたかご存じないでしょうか。
467デフォルトの名無しさん (アウアウエー Sa6a-0GGu)
2020/04/25(土) 11:25:01.63ID:4nLfPOGMa468デフォルトの名無しさん (ワッチョイ f64f-1Gce)
2020/04/25(土) 11:36:45.42ID:CZd/Jkgq0 「もう使わない」という意思をコードに込めているような気もする
>>468
私もこの説を推します
私もこの説を推します
470デフォルトの名無しさん (ワッチョイ ac63-aCTA)
2020/04/25(土) 17:31:25.70ID:ls8kshvF0 わざわざそんな意志を示さなきゃいけないようなコードはどこかおかしいとなぜ思わないのか?
471デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/25(土) 17:57:58.43ID:duoUHH2X0 >>468
紛らわしいだけなのでNG
紛らわしいだけなのでNG
472デフォルトの名無しさん (ワッチョイ 0c01-UN6T)
2020/04/25(土) 18:07:47.14ID:qFkcGRPu0 イメージとしてはこんなコードを書いてるってこと?
static void Main(string[] args)
{
var s1 = "Hello ";
var s2 = "World ";
var s3 = "of Null Assignments!!";
s1 += s2;
s2 = null;
ConcatPrint(s1, s3);
s1 = null;
s3 = null;
}
static void ConcatPrint(string s1, string s2)
{
var s = s1 + s2;
Console.WriteLine(s);
s = null;
}
static void Main(string[] args)
{
var s1 = "Hello ";
var s2 = "World ";
var s3 = "of Null Assignments!!";
s1 += s2;
s2 = null;
ConcatPrint(s1, s3);
s1 = null;
s3 = null;
}
static void ConcatPrint(string s1, string s2)
{
var s = s1 + s2;
Console.WriteLine(s);
s = null;
}
473デフォルトの名無しさん (ワッチョイ 082c-cUrQ)
2020/04/25(土) 18:46:43.43ID:Shh4d2200 s2がめちゃくちゃでかくて ConcatPrint がすごく時間がかかる処理ならs2を使わなくなった段階で null を代入するのは意味があるんじゃないか
474デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/25(土) 19:17:42.17ID:duoUHH2X0 コンパイラでどう最適化されるのか考えてみ
475デフォルトの名無しさん (アウアウウー Sab5-BpYI)
2020/04/25(土) 19:33:44.64ID:8r0Ych+Ea 重い非同期メソッドを呼び出す前に不要になる巨大な配列aがあるとすれば、
非同期メソッドを呼び出す前にa = nullにする意味はひょっとしたらあるのかもと思うけど、
>>474の言うとおりそういう猿仕事は本来コンパイラにやって欲しいよね
まあ、そろそろいいのではこの話題。
エクセルのオートメーションとかやる時に鬱陶しいReleaseComObjectがあるけど、
VB6ではああいう感覚でNothingを変数にいちいち入れてたんだよね。
非同期メソッドを呼び出す前にa = nullにする意味はひょっとしたらあるのかもと思うけど、
>>474の言うとおりそういう猿仕事は本来コンパイラにやって欲しいよね
まあ、そろそろいいのではこの話題。
エクセルのオートメーションとかやる時に鬱陶しいReleaseComObjectがあるけど、
VB6ではああいう感覚でNothingを変数にいちいち入れてたんだよね。
476デフォルトの名無しさん (ワッチョイ 6e0c-1Gce)
2020/04/25(土) 20:35:52.62ID:I4zKFD3L0 メソッド中のローカルみたいな単純に追跡できる変数なら実際回収されるからね
逆に明示的に生存して欲しい場合のためにGC.KeepAliveなんてのもある
逆に明示的に生存して欲しい場合のためにGC.KeepAliveなんてのもある
477デフォルトの名無しさん (ワッチョイ 411d-Zrcu)
2020/04/25(土) 20:36:20.38ID:45wIze2e0 超ブラック企業だったサイボウズが、全社員と「ザツダン」してわかった“見えない不満”の本質
https://headlines.yahoo.co.jp/hl?a=20191118-00010003-srnijugo-life
サイボウズの「100人100通りの人事制度」を実現する働き方改革とは?
https://news.mynavi.jp/article/20190902-887250/
『サイボウズ』は社員満足度の高い「働き方改革」をなぜ作れたのか
https://gendai.ismedia.jp/articles/-/67235
諸悪の根源はメールと電話 サイボウズ営業チームの“脱ブラック部署”のノウハウ
https://logmi.jp/business/articles/322356
kintone×感情認識で社員の“HP”を見える化 若手エンジニアが挑む働き方改革
https://logmi.jp/business/articles/322342
サイボウズが副業を真っ先に解禁した理由。社員や会社のメリットとは?
https://nikkan-spa.jp/1602111
毎日が「休日」か「休日明け」か「休日前」 水土日休みの週休3日ベンチャーが「理想の働き方」と話題に
https://nlab.itmedia.co.jp/nl/articles/1907/24/news039.html
https://headlines.yahoo.co.jp/hl?a=20191118-00010003-srnijugo-life
サイボウズの「100人100通りの人事制度」を実現する働き方改革とは?
https://news.mynavi.jp/article/20190902-887250/
『サイボウズ』は社員満足度の高い「働き方改革」をなぜ作れたのか
https://gendai.ismedia.jp/articles/-/67235
諸悪の根源はメールと電話 サイボウズ営業チームの“脱ブラック部署”のノウハウ
https://logmi.jp/business/articles/322356
kintone×感情認識で社員の“HP”を見える化 若手エンジニアが挑む働き方改革
https://logmi.jp/business/articles/322342
サイボウズが副業を真っ先に解禁した理由。社員や会社のメリットとは?
https://nikkan-spa.jp/1602111
毎日が「休日」か「休日明け」か「休日前」 水土日休みの週休3日ベンチャーが「理想の働き方」と話題に
https://nlab.itmedia.co.jp/nl/articles/1907/24/news039.html
478デフォルトの名無しさん (ワッチョイ 0c01-UN6T)
2020/04/25(土) 20:48:23.53ID:qFkcGRPu0479デフォルトの名無しさん (ワッチョイ 15cf-Ue8b)
2020/04/25(土) 20:51:29.48ID:pYNu3Cma0 >>478
日本語でおk
日本語でおk
480デフォルトの名無しさん (ワッチョイ 0c01-UN6T)
2020/04/25(土) 21:07:37.42ID:qFkcGRPu0 >>479
Q: 下のコードでnewしたOtherClassがどのタイミングでGC可能になるか?
1. SomeMethod()のスコープを抜けた後
2. Frob()がreturnした後
3. それ以前
class SomeClass {
...
string SomeMethod(string s, bool reformulate)
{
OtherClass o = new OtherClass(s);
string result = Frob(o);
if (reformulate) Reformulate();
return result;
}
}
答えはこちら
https://devblogs.microsoft.com/oldnewthing/20100810-00/?p=13193
Q: 下のコードでnewしたOtherClassがどのタイミングでGC可能になるか?
1. SomeMethod()のスコープを抜けた後
2. Frob()がreturnした後
3. それ以前
class SomeClass {
...
string SomeMethod(string s, bool reformulate)
{
OtherClass o = new OtherClass(s);
string result = Frob(o);
if (reformulate) Reformulate();
return result;
}
}
答えはこちら
https://devblogs.microsoft.com/oldnewthing/20100810-00/?p=13193
481デフォルトの名無しさん (ワッチョイ c001-Wew5)
2020/04/25(土) 21:10:01.07ID:UeM9CFrC0 国会をクイズ会場にするな
初心者向けスレをクイズ会場にするな
初心者向けスレをクイズ会場にするな
482デフォルトの名無しさん (ワッチョイ 4a33-1Gce)
2020/04/25(土) 22:06:04.92ID:n8sMf2Gw0 横から失礼
こんな感じの特異なコードだと、解放対象とさせるためには破棄の段階でnullを入れる必要あり?
(hageをforの中で定義してしまえば1回目の処理後に解放対象とされるだろうけど)
Hoge hage; // hage定義
for(int n=0;n<10000;n++) {
if(n==0) { /* hage初期化 */ }
// 長い処理
if(n==0) { /* hage使用 */ }
// 長い処理
if(n==0) { /* hage使用 */ }
// 長い処理
if(n==0) { /* hage破棄 */ }
// 長い処理
}
こんな感じの特異なコードだと、解放対象とさせるためには破棄の段階でnullを入れる必要あり?
(hageをforの中で定義してしまえば1回目の処理後に解放対象とされるだろうけど)
Hoge hage; // hage定義
for(int n=0;n<10000;n++) {
if(n==0) { /* hage初期化 */ }
// 長い処理
if(n==0) { /* hage使用 */ }
// 長い処理
if(n==0) { /* hage使用 */ }
// 長い処理
if(n==0) { /* hage破棄 */ }
// 長い処理
}
483デフォルトの名無しさん (アウアウウー Sab5-BpYI)
2020/04/25(土) 23:13:57.58ID:jtuoTa4Ea >>482
ちょっと何言ってるのか
>/* hage初期化 */
で毎回Hogeのインスタンスを作ってるならインスタンスが変数hageから参照されなくなった時点で
GC対象でしょう
nullいれて何の意味があるの?
ちょっと何言ってるのか
>/* hage初期化 */
で毎回Hogeのインスタンスを作ってるならインスタンスが変数hageから参照されなくなった時点で
GC対象でしょう
nullいれて何の意味があるの?
484デフォルトの名無しさん (ワッチョイ b6d6-Op/G)
2020/04/25(土) 23:18:32.91ID:W2d10YjF0485デフォルトの名無しさん (アウアウウー Sa30-R0M4)
2020/04/25(土) 23:22:38.19ID:tZZhc4pea >>482
確実に解放対象とさせることを意図したソースにするなら「hage.Dispose();」とするべき、
もっと言えばusing(hage = new Hage()){・・・}にすべきだと思うんだけど、
なんでnullを入れるっていう発想になるの?
ソースを読む側に立ってよ、null代入でリソース解放させることを意図してるなんて初見で解釈できるわけないでしょ
それともHageがIDisposableでない?リソースをバカバカ消費するのにIDisposableになっていないとすれば
Hageクラスの設計が間違ってるんでそんなクラスはゴミだと思ってぜんぶ廃棄するのが正しい
using構文だってC#2.0の頃にはもう存在してたし、
VBみたいないちいちNothingを入れる文化なんて20世紀のやり方だし、
nullを代入することに意味があるとか言ってる奴らの脳みそには
メインメモリがいまだに数十MBしか詰まってないと思って無視していいと思う
確実に解放対象とさせることを意図したソースにするなら「hage.Dispose();」とするべき、
もっと言えばusing(hage = new Hage()){・・・}にすべきだと思うんだけど、
なんでnullを入れるっていう発想になるの?
ソースを読む側に立ってよ、null代入でリソース解放させることを意図してるなんて初見で解釈できるわけないでしょ
それともHageがIDisposableでない?リソースをバカバカ消費するのにIDisposableになっていないとすれば
Hageクラスの設計が間違ってるんでそんなクラスはゴミだと思ってぜんぶ廃棄するのが正しい
using構文だってC#2.0の頃にはもう存在してたし、
VBみたいないちいちNothingを入れる文化なんて20世紀のやり方だし、
nullを代入することに意味があるとか言ってる奴らの脳みそには
メインメモリがいまだに数十MBしか詰まってないと思って無視していいと思う
486デフォルトの名無しさん (ワッチョイ dc2c-y6ks)
2020/04/25(土) 23:32:05.95ID:CeBC06vz0 >>485
リソースの破棄とメモリの解放をごっちゃにされても困るんだが
リソースの破棄とメモリの解放をごっちゃにされても困るんだが
487デフォルトの名無しさん (ワッチョイ 4a33-1Gce)
2020/04/26(日) 00:28:54.90ID:1XpAbCKg0 hage.Dispose()でhage自身が解放対象となりましたっけ?
分かりづらいので>>482 のクソコードを少し訂正して配列にしてみます
×Hoge hage; // hage定義
○double[] hage; // hage定義
× if(n==0) { /* hage初期化 */ }
○ if(n==0) { hage = new double[3840*2160]; /* hage初期化 */ }
分かりづらいので>>482 のクソコードを少し訂正して配列にしてみます
×Hoge hage; // hage定義
○double[] hage; // hage定義
× if(n==0) { /* hage初期化 */ }
○ if(n==0) { hage = new double[3840*2160]; /* hage初期化 */ }
488デフォルトの名無しさん (アウアウウー Sab5-BpYI)
2020/04/26(日) 00:47:35.12ID:v/oAUwR6a489デフォルトの名無しさん (アウアウウー Sa30-R0M4)
2020/04/26(日) 01:31:28.57ID:6V39WOnVa >>487
長ったらしい処理+クソデカい配列をいじくりまわす処理で地獄のようなクソコードになりそうだ
繰り返しになるけどリソース(メモリリソース含む)を莫大に消費する処理ならIDisposableとして実装されるべきだし
リソースの解放はDispose()に記述されるべき
>>482>>487のなら配列を扱う部分を別クラスに分けたほうがマシだろう、どうせn==0のとき以外は配列いじらないんだし
class HogeClass : IDisposable {
double[] hage = new double[3840*2160];
public HogeClass() {
// 生成時に必要な処理
}
/// hage破棄時に呼び出し
public void Dispose() {
hage = null;
}
/// hage使用時に呼び出し
public void Method(・・・) {
// その他配列をいじくりまわすために必要な処理各種
}
}
長ったらしい処理+クソデカい配列をいじくりまわす処理で地獄のようなクソコードになりそうだ
繰り返しになるけどリソース(メモリリソース含む)を莫大に消費する処理ならIDisposableとして実装されるべきだし
リソースの解放はDispose()に記述されるべき
>>482>>487のなら配列を扱う部分を別クラスに分けたほうがマシだろう、どうせn==0のとき以外は配列いじらないんだし
class HogeClass : IDisposable {
double[] hage = new double[3840*2160];
public HogeClass() {
// 生成時に必要な処理
}
/// hage破棄時に呼び出し
public void Dispose() {
hage = null;
}
/// hage使用時に呼び出し
public void Method(・・・) {
// その他配列をいじくりまわすために必要な処理各種
}
}
490デフォルトの名無しさん (アウアウウー Saab-0quI)
2020/04/26(日) 04:32:34.57ID:Rz7+bFFLa 旧バージョンのC#をお守りする仕事から何とか逃れたい…
491デフォルトの名無しさん (ワッチョイ e2ad-Op/G)
2020/04/26(日) 05:07:29.90ID:flVxc/260 C#フォームプログラムを0から覚えたくて猫でも分かるサイト見てたんですが
7、8章辺りから説明が雑になってきて分からなくなってしまいました。
もう少しわかりやすく順序立てて解説してるサイトはないでしょうか?
7、8章辺りから説明が雑になってきて分からなくなってしまいました。
もう少しわかりやすく順序立てて解説してるサイトはないでしょうか?
492デフォルトの名無しさん (ワッチョイ 9317-1Gce)
2020/04/26(日) 10:18:15.48ID:NUpBHqGl0 これを雑だと言うのなら他サイト見ても全部雑だと文句言いそう
493デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/26(日) 10:29:18.48ID:BFeJAfYX0 >>491
具体的には何がわからないの?
具体的には何がわからないの?
494デフォルトの名無しさん (ワッチョイ 15cf-Ue8b)
2020/04/26(日) 10:54:27.48ID:LGlXzGY70 >>489
disposeはインスタンスを破棄するメソッドじゃない
disposeはインスタンスを破棄するメソッドじゃない
495デフォルトの名無しさん (ワッチョイ b2da-6+K6)
2020/04/26(日) 11:33:08.73ID:veb1rsQN0 猫はなんか見づらい、というか目がちかちかする。
496デフォルトの名無しさん
2020/04/26(日) 11:46:54.16 あのサイト2000年頃からあったよな
作者は50代くらいか
作者は50代くらいか
497デフォルトの名無しさん (ワッチョイ 4a33-1Gce)
2020/04/26(日) 13:34:47.59ID:1XpAbCKg0 >>482,487です
質問の仕方が悪かったみたいです
参照を切るやり方やループの作りとかはどうでもよくて
/* hage破棄 */
の段階でhage=null;を入れた場合は、すぐに解放対象とさせることが出来るが
そのまま保持していた場合は、少なくともループ中では解放対象にはならない
というようなことが知りたかったのです
変な質問に付き合わせてすみませんでした
質問の仕方が悪かったみたいです
参照を切るやり方やループの作りとかはどうでもよくて
/* hage破棄 */
の段階でhage=null;を入れた場合は、すぐに解放対象とさせることが出来るが
そのまま保持していた場合は、少なくともループ中では解放対象にはならない
というようなことが知りたかったのです
変な質問に付き合わせてすみませんでした
498デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/26(日) 13:39:25.82ID:BFeJAfYX0 >>497
null代入なんて初心者は考えなくていいよ
null代入なんて初心者は考えなくていいよ
499デフォルトの名無しさん (ワッチョイ 0c01-UN6T)
2020/04/26(日) 13:55:39.53ID:bgNhzTiH0500デフォルトの名無しさん (ワッチョイ 4a33-1Gce)
2020/04/26(日) 14:58:49.24ID:1XpAbCKg0501デフォルトの名無しさん (ワッチョイ ee90-HPZ2)
2020/04/26(日) 17:35:11.55ID:QqkrbzyN0 C#使ったデータ保存で手軽にできる方法ってどういった方法でしょうか?
外部ライブラリ使ってもDB使っても構いません
やっぱりEntity Frameworkでしょうか? それともxsd作ってxmlシリアライズの方が良い?
外部ライブラリ使ってもDB使っても構いません
やっぱりEntity Frameworkでしょうか? それともxsd作ってxmlシリアライズの方が良い?
502デフォルトの名無しさん (ワントンキン MM1a-Kurq)
2020/04/26(日) 17:59:27.42ID:MQj0O2FGM >>501
json
json
503デフォルトの名無しさん (ワッチョイ e2ad-Op/G)
2020/04/26(日) 18:28:11.42ID:flVxc/260 >>493
Graphics g = e.Graphics;
graphicsプロパティで変数gを宣言してeのグラフィックプロパティを代入とか意味がわからないです
これをするとDrawなんちゃらって関数呼ぶときに文章が短くなるのは何となく分かるのですが
この著者のコンソール編でプロパティにプロパティを代入とか習わなかったから具体的にどういう状態になってんのか分かりません。
後は関数呼び出すときに仮引数に g.DrawLine(new Pen()とかやってますが仮引数でnew クラス型 とかやる手法はこの著者のページでは習ってないはずなのに
何の説明もなく使っていて理解できませんでした。
他にもたくさんありますが、ただただ真似して書けばいい感が強くて理屈で理解できませんでした
Graphics g = e.Graphics;
graphicsプロパティで変数gを宣言してeのグラフィックプロパティを代入とか意味がわからないです
これをするとDrawなんちゃらって関数呼ぶときに文章が短くなるのは何となく分かるのですが
この著者のコンソール編でプロパティにプロパティを代入とか習わなかったから具体的にどういう状態になってんのか分かりません。
後は関数呼び出すときに仮引数に g.DrawLine(new Pen()とかやってますが仮引数でnew クラス型 とかやる手法はこの著者のページでは習ってないはずなのに
何の説明もなく使っていて理解できませんでした。
他にもたくさんありますが、ただただ真似して書けばいい感が強くて理屈で理解できませんでした
504デフォルトの名無しさん (アウアウウー Sab5-BpYI)
2020/04/26(日) 18:37:36.62ID:jo9Gp3qca >>503
ここは質問スレだよw
愚痴は本人に直接伝えた方がいいと思うよ。ここで言ってもしょうがないでしょ。
一般論として、プログラミングの学習では分からないところでいちいち立ち止まってぐだぐだ考えるより
きっと後で何となくわかるようになるだろうと気軽に考えて先に進む方が効率がいいと思うよ。
ここは質問スレだよw
愚痴は本人に直接伝えた方がいいと思うよ。ここで言ってもしょうがないでしょ。
一般論として、プログラミングの学習では分からないところでいちいち立ち止まってぐだぐだ考えるより
きっと後で何となくわかるようになるだろうと気軽に考えて先に進む方が効率がいいと思うよ。
505デフォルトの名無しさん (ワッチョイ b6d6-Op/G)
2020/04/26(日) 18:48:31.90ID:fQRF26+R0 >>503
C#はクラス名とプロパティ名が被ってても良いから、前半の左と右のGraphicsの意味は違う
Graphicsクラスの変数gを定義してeのGraphicsプロパティ(型はGraphicsクラス)を代入してる
後半は
Pen pen = new Pen();
g.DrawLine( pen );
を1行で書いてるだけ。
C#はクラス名とプロパティ名が被ってても良いから、前半の左と右のGraphicsの意味は違う
Graphicsクラスの変数gを定義してeのGraphicsプロパティ(型はGraphicsクラス)を代入してる
後半は
Pen pen = new Pen();
g.DrawLine( pen );
を1行で書いてるだけ。
506デフォルトの名無しさん (ワッチョイ ac63-aCTA)
2020/04/26(日) 18:55:17.00ID:bZwoQ/xt0 そのレベルで不親切だって言うならwebで満足できるものは少なくとも日本語では存在しないんじゃないかな?
書籍でも怪しいと思うけど
プログラムなんてとりあえず真似して書いてその後で色んなところいじってみて動作見て覚えていくもんだと個人的には思ってる
書籍でも怪しいと思うけど
プログラムなんてとりあえず真似して書いてその後で色んなところいじってみて動作見て覚えていくもんだと個人的には思ってる
507デフォルトの名無しさん (ワッチョイ e2ad-Op/G)
2020/04/26(日) 19:01:21.31ID:flVxc/260 >>505
なるほど。変数gの何のフィールドにプロパティを代入してるか分かりませんが
何となくわかった気がします。
仮引数でnew クラス型とするのは省略形として使えるのですね。
全然言及されてなかったので助かりました。ありがとうございます
なるほど。変数gの何のフィールドにプロパティを代入してるか分かりませんが
何となくわかった気がします。
仮引数でnew クラス型とするのは省略形として使えるのですね。
全然言及されてなかったので助かりました。ありがとうございます
508デフォルトの名無しさん (ワッチョイ ee90-HPZ2)
2020/04/26(日) 19:18:30.96ID:QqkrbzyN0509デフォルトの名無しさん (ブーイモ MM5e-enkp)
2020/04/26(日) 19:18:56.74ID:VvmvgJTZM >>502
それなに?13日の金曜日に出るやつ?
それなに?13日の金曜日に出るやつ?
510デフォルトの名無しさん (アウアウウー Sab5-BpYI)
2020/04/26(日) 19:19:43.16ID:jo9Gp3qca >>505の人は機能的に等価だと言ってるだけで省略形なんて言ってないし、そんな風に考えるのは間違ってるよw
511デフォルトの名無しさん (ワッチョイ 6cac-xf6K)
2020/04/26(日) 20:19:36.23ID:Qe5iBT5s0 サンプルを一行一行丁寧に解説してほしいってか。。
贅沢やのお
贅沢やのお
512デフォルトの名無しさん (ワッチョイ 9cb2-Hjmu)
2020/04/26(日) 20:34:57.68ID:PGzBFzsM0 まあでも気持ちはわかるわ。おれも初心者の頃はそんな所があった。後から理解は追いついてくるもんだけど、点と点が線になるには、点(小さな知識)を積み上げていくしかないからなあ
513デフォルトの名無しさん (ワッチョイ f24a-LoFo)
2020/04/26(日) 20:39:40.62ID:MuBSif2v0 paralell.forで並列処理しながら
同時にプログレスバーを更新したいんですが
どうやったらいいのか、というか可能なのでしょうか?
同時にプログレスバーを更新したいんですが
どうやったらいいのか、というか可能なのでしょうか?
514デフォルトの名無しさん (ワッチョイ 382d-JoBq)
2020/04/26(日) 20:47:48.75ID:h+uhH0sS0 ついでに余計なことを教えて欲しいんだけどさ
こう言うローカル変数に代入しなおすのって、やると参照強度は変わるもんなのかな?
こう言うローカル変数に代入しなおすのって、やると参照強度は変わるもんなのかな?
515デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/26(日) 20:53:19.07ID:BFeJAfYX0 >>514
プロパティへのアクセスがコストかかる時はやることもあるけどね
プロパティへのアクセスがコストかかる時はやることもあるけどね
516デフォルトの名無しさん (ワッチョイ dc2c-y6ks)
2020/04/26(日) 22:27:07.16ID:N4kJSNdj0517デフォルトの名無しさん (ワッチョイ e2ad-h7Ku)
2020/04/26(日) 23:00:31.67ID:VF6JOwzP0518デフォルトの名無しさん (ワッチョイ ee68-Btmo)
2020/04/26(日) 23:54:19.94ID:7OiNIhki0 全く同じ値なのに違う判定するのってどうしてるんですか?
例えば
public Class SampleClass
{
int x;
}
に対して
var sample=SampleClass(x:1);
var sample2=SampleClass(x:1);
sampleとsample2は値一緒じゃないですか?
でもEqualsだとfalseが出るのは何故?
例えば
public Class SampleClass
{
int x;
}
に対して
var sample=SampleClass(x:1);
var sample2=SampleClass(x:1);
sampleとsample2は値一緒じゃないですか?
でもEqualsだとfalseが出るのは何故?
519デフォルトの名無しさん (アウアウウー Sab5-BpYI)
2020/04/27(月) 00:42:29.38ID:ynzlI0MBa >>518
GUI部品みたいにプロパティーやフィールドがいっぱいあるオブジェクトを想像してみ?
例えばLabel
何をもって等価だと判断するの?
Textが同じなら等価?
Textとサイズが同じなら等価?
TextとForeColorが同じなら等価?
そんなことシステムは忖度できないし、逆に勝手に忖度されても困る。
だからObject.Equalsは同一のインスタンスかどうかを検査するだけ。
xの値で等価かどうか判定したいならそのようにEqualsをoverrideしてください。
GUI部品みたいにプロパティーやフィールドがいっぱいあるオブジェクトを想像してみ?
例えばLabel
何をもって等価だと判断するの?
Textが同じなら等価?
Textとサイズが同じなら等価?
TextとForeColorが同じなら等価?
そんなことシステムは忖度できないし、逆に勝手に忖度されても困る。
だからObject.Equalsは同一のインスタンスかどうかを検査するだけ。
xの値で等価かどうか判定したいならそのようにEqualsをoverrideしてください。
520デフォルトの名無しさん (ワッチョイ b6d6-Op/G)
2020/04/27(月) 00:46:26.67ID:7GOhLkTu0 >>518
規定では同一のインスタンスかを調べるだけ
値を比較したいなら、Equals()をオーバーライドして比較する部分を自分で実装
https://www.atmarkit.co.jp/ait/articles/1802/28/news028.html
規定では同一のインスタンスかを調べるだけ
値を比較したいなら、Equals()をオーバーライドして比較する部分を自分で実装
https://www.atmarkit.co.jp/ait/articles/1802/28/news028.html
521デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/27(月) 01:09:44.28ID:+pbqV8lG0 >>518
参照型と値型はそのへん違うから気をつけて
参照型と値型はそのへん違うから気をつけて
522デフォルトの名無しさん (ワッチョイ 953a-1Gce)
2020/04/27(月) 08:32:01.74ID:0MZh1QDY0 値型もEqualsをオーバーライドしなきゃダメだよ
523デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/27(月) 08:40:50.79ID:+pbqV8lG0 >>522
別にだめなわけではない
別にだめなわけではない
524デフォルトの名無しさん (スフッ Sd94-cUrQ)
2020/04/27(月) 09:01:14.66ID:5CwAYVjud ドットネットではequalsが値比較で、==が参照比較…というのが基本ではあるんだけど、値型に関してはoperatorをoverrideしてあるからほぼ値比較してくれるんだ
525デフォルトの名無しさん (ワッチョイ 4602-QpYc)
2020/04/27(月) 14:19:07.06ID:O/Rc+c/Z0 でもさ、俺のおちんちんと君のおちんちんは同じじゃないよね?
ペロペロしてもらう時に俺のおちんちんじゃなくて君のおちんちんだったら無意味だよ
ペロペロしてもらう時に俺のおちんちんじゃなくて君のおちんちんだったら無意味だよ
526デフォルトの名無しさん (ワンミングク MM3e-Kurq)
2020/04/27(月) 14:56:44.28ID:adSG+GOZM >>513
その通りにコードを書けばいいと思うよ
その通りにコードを書けばいいと思うよ
527デフォルトの名無しさん (ワッチョイ 0a2f-Hty+)
2020/04/27(月) 18:30:42.73ID:pzY5bj450528デフォルトの名無しさん (ワッチョイ f24a-LoFo)
2020/04/27(月) 19:48:39.35ID:sEi51MkM0529デフォルトの名無しさん (スフッ Sd94-cUrQ)
2020/04/27(月) 21:57:08.78ID:5CwAYVjud530デフォルトの名無しさん (ワッチョイ 968e-3zx1)
2020/04/27(月) 22:18:43.99ID:VtI6ihiD0 structの時もそうだったがここは答える方が馬鹿ばっかなんだな
531デフォルトの名無しさん (スッップ Sd70-rGdA)
2020/04/27(月) 22:19:58.04ID:azrm73Nod >>529
それのどこに?
それのどこに?
532デフォルトの名無しさん (ワッチョイ ac63-aCTA)
2020/04/27(月) 22:40:25.44ID:ZyoVYLj90 言語仕様策定側のガイドラインがあるなら聞きたい、って話なのに言語利用側のガイドライン見せられても、そりゃ?ってなるよね
533デフォルトの名無しさん (ワッチョイ 082c-cUrQ)
2020/04/28(火) 06:23:15.85ID:sVyB4x530 どうせみんな死ぬんよ(´・ω・`)
534デフォルトの名無しさん (アウアウウー Sa30-V+Rj)
2020/04/28(火) 08:52:13.97ID:zuokQMKDa >>533
い粁
い粁
535デフォルトの名無しさん (スプッッ Sd9e-XvBq)
2020/04/28(火) 10:33:47.97ID:+VZERS3Cd ZxingでPDFからバーコードを読み取りたいのだけど
PDFファイルをbinaryBitmapに変換できるフリーのライブラリってある?
PDFファイルをbinaryBitmapに変換できるフリーのライブラリってある?
536デフォルトの名無しさん (アウアウエー Sa6a-0GGu)
2020/04/28(火) 10:35:50.04ID:zAZN/f3sa ある
537デフォルトの名無しさん (ワッチョイ 7cda-sqO3)
2020/04/28(火) 10:40:48.89ID:xYOP5bIU0 Windows.Data.Pdfで出来るか?
538デフォルトの名無しさん (ワッチョイ 5302-1Gce)
2020/04/28(火) 18:35:42.95ID:JNpMj+Oe0 "Aが1,3,5,6のどれかならtrue"
みたいな判定をswitch、Contains()使わずに実現する方法
みたいな判定をswitch、Contains()使わずに実現する方法
539デフォルトの名無しさん (ワッチョイ 082c-cUrQ)
2020/04/28(火) 18:43:43.86ID:sVyB4x530 TrueForAll…
540デフォルトの名無しさん (アウアウウー Sa30-R0M4)
2020/04/28(火) 19:28:54.81ID:P/sctXtYa 取りうる値の範囲が整数で最大でも63なら
(((0b_110101_0 >> A) & 1) == 1) とか
(((0b_110101_0 >> A) & 1) == 1) とか
541デフォルトの名無しさん (ワッチョイ 9317-1Gce)
2020/04/28(火) 19:31:51.95ID:tz02eWdG0 素直にContains使った方が良いんじゃね
Contains使えない理由でもあるの?
Contains使えない理由でもあるの?
542デフォルトの名無しさん (ワッチョイ 3a6a-lMNq)
2020/04/28(火) 20:23:59.00ID:fttQZMFx0 学校の課題なんじゃね?
543デフォルトの名無しさん (ワッチョイ 0a2f-Hty+)
2020/04/28(火) 20:45:53.08ID:CB5xdhwI0 ifとorでやれよ
544デフォルトの名無しさん (ワッチョイ 0c01-UN6T)
2020/04/28(火) 21:00:55.21ID:nnss28av0 array.Any(x => x.Equals(A))
Array.Exists()とか単純なfor loopとかいろいろやり方はあるよね
Array.Exists()とか単純なfor loopとかいろいろやり方はあるよね
545デフォルトの名無しさん (ワッチョイ ac63-w7gE)
2020/04/28(火) 21:20:15.28ID:LE+4zw960 var result = value switch ❴
1 or 3 or 5 or 6 => true,
_ => false,
❵;
C#9だけど
あ、switch式も駄目ですか
1 or 3 or 5 or 6 => true,
_ => false,
❵;
C#9だけど
あ、switch式も駄目ですか
546デフォルトの名無しさん (アウアウウー Sab5-BpYI)
2020/04/28(火) 21:39:44.15ID:ozSqZJZ1a bool Hoge(int n)
{
var table = new[] { false, true, false, true, false, true, true };
try
{
return table[n];
}
catch { }
return false;
}
クイズとしてはチャレンジングな部類じゃないねw
{
var table = new[] { false, true, false, true, false, true, true };
try
{
return table[n];
}
catch { }
return false;
}
クイズとしてはチャレンジングな部類じゃないねw
547デフォルトの名無しさん (ワッチョイ a402-IlnE)
2020/04/28(火) 21:46:29.35ID:9hpTUu+W0 頭いいな
switchを使わないってとこから単純なif判定も使えない
Containsを使わないってことから{1,3,5,6}みたいなコレクション自体使えない
って意図で考えてたけどその解法は気づかなかった
switchを使わないってとこから単純なif判定も使えない
Containsを使わないってことから{1,3,5,6}みたいなコレクション自体使えない
って意図で考えてたけどその解法は気づかなかった
548デフォルトの名無しさん (ワッチョイ ac63-w7gE)
2020/04/28(火) 21:55:35.85ID:LE+4zw960 表引きは昔から高速化目的でよく使われる
sin/cosなんかを演算で求めるんじゃなくて0〜90度まで全部コンパイル前に計算しておいてコードに埋め込んでおくとか
メモリ食うことになるしsin/cosみたいな例だと0.5度無理みたいなデメリットはあるけど状況によってはそういうのが有効だったりする
sin/cosなんかを演算で求めるんじゃなくて0〜90度まで全部コンパイル前に計算しておいてコードに埋め込んでおくとか
メモリ食うことになるしsin/cosみたいな例だと0.5度無理みたいなデメリットはあるけど状況によってはそういうのが有効だったりする
549デフォルトの名無しさん (ワッチョイ b2da-6+K6)
2020/04/28(火) 23:34:39.75ID:C/CcLAW60 個人的には >>544 の方法が手っ取り早く感じる。
public static bool Hoge(int A, int[] source)
{
return source.Any(s => s == A);
}
public static bool Hoge(int A, int[] source)
{
return source.Any(s => s == A);
}
550デフォルトの名無しさん (ワッチョイ 6763-rsUV)
2020/04/29(水) 00:46:32.86ID:0T/hrPb30 普段ならそれだよ
でも人様に10年はええなんて言える人が出すお題に普通に答えても…ってことで少しひねった回答しただけ
でも人様に10年はええなんて言える人が出すお題に普通に答えても…ってことで少しひねった回答しただけ
551デフォルトの名無しさん (ワッチョイ c7da-ipCf)
2020/04/29(水) 01:40:12.03ID:7lEbqk+c0 .Net Core でCe
552デフォルトの名無しさん (ワッチョイ c7da-ipCf)
2020/04/29(水) 01:47:19.07ID:7lEbqk+c0 .Net Core で CefSharp 使いたいのですが、nuget で参照追加しても、コンパイル時にエラーが発生します。
https://i.imgur.com/kGS4YK6.jpg
どうすれば動くのでしょうか?
https://i.imgur.com/kGS4YK6.jpg
どうすれば動くのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★4 [BFU★]
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★3 [BFU★]
- 【千葉】コンビニに尿入りペットボトル並べた疑い、26歳男「むしゃくしゃして」…購入した客が飲もうとしたところ臭いに違和感 [ぐれ★]
- 中国官製報道「日本経済はもう持たない」にネット民ツッコミ「ニュースだけ見てたら日本はもう百回くらい爆発してる」 [1ゲットロボ★]
- 【硬貨】500円だと思ったら「500ウォンが入っていた」価値は約10分の1 全国で飲食店などで“500ウォントラブル”相次いで報告 [ぐれ★]
- 【STARTO ENTERTAINMENT】timelesz、メンバーの不適切言動を謝罪「不用意かつモラルに反した発言であった」 全員の署名入りでコメント [Ailuropoda melanoleuca★]
- 【J SPORTS】FIFA U-17ワールドカップ ★12
- 【J SPORTS】FIFA U-17ワールドカップ ★11
- 【J SPORTS】FIFA U-17ワールドカップ ★12
- 競輪実況★1604
- とらせん IP
- 巨専】
- 「地獄のような戦場、ペリリュー島で若者たちは何を想い、⽣きたのか─」👈こういうの正直薄ら寒いよな。所詮ジャップよ [268718286]
- 【実況】博衣こよりのえちえちホロ分かり手クイズ🧪🏴‍☠🌸 ★3
- 【高市悲報】中国「国連安保理の許可なしに日本を攻撃可能だ」★2 [115996789]
- 【ぺこ専🐰】なんG 兎田ぺこら突発配信実況スレ🏡【ホロライブ▶】
- NHKニュースウオッチ9「日本側は対話にオープンな姿勢で安定した日中関係を築きたい考えなのに中国が意固地で糸口が見いだせない」 [904151406]
- 【んな専🏡】華金もんなっしょいとはやれやれなのらね🍬(・o・🍬)🏰
