!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
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (エムゾネ FF9f-HF0o)
2020/02/19(水) 17:25:41.55ID:IsrGexiaF2デフォルトの名無しさん (ワイーワ2 FFdf-IPX/)
2020/02/19(水) 17:29:40.75ID:edMDbkMkF C#
3デフォルトの名無しさん (ワッチョイ ff63-ufZq)
2020/02/20(木) 01:30:01.42ID:0E34SqOf0 ガチガイジとスルーもできないキッズには、ワッショイは何の効果もないと十分証明されたろ
4デフォルトの名無しさん (ワッチョイ ff6a-Nz9x)
2020/02/20(木) 01:40:39.17ID:C2E41YSR05デフォルトの名無しさん (ワッチョイ a3e7-KdKg)
2020/02/20(木) 02:48:48.15ID:xxzDxoBT0 ワッチョイでNGすれば良いし
6デフォルトの名無しさん (アウアウウー Sae7-icJa)
2020/02/20(木) 03:04:29.36ID:M4vgGbqza >>3
だから、その通りだけどそんなこと言っても「バカの壁」の向こう側には絶対通じないw
特に日本はそういう国ですってw
そんなこといい歳こいてたら毎日嫌というほど体験してるよね
ワッチョイは有害無益なだけだけど、害と言っても別にたいしたことないので
それでイラショナルな皆さまの気が済むなら目くじら立てることもないと思う。
愚かしいとはいつも思ってるけどwww
だから、その通りだけどそんなこと言っても「バカの壁」の向こう側には絶対通じないw
特に日本はそういう国ですってw
そんなこといい歳こいてたら毎日嫌というほど体験してるよね
ワッチョイは有害無益なだけだけど、害と言っても別にたいしたことないので
それでイラショナルな皆さまの気が済むなら目くじら立てることもないと思う。
愚かしいとはいつも思ってるけどwww
7デフォルトの名無しさん (ラクッペ MM87-wHG4)
2020/02/20(木) 07:02:00.97ID:lwE/hX+lM 本当に証明された?
ワッチョイないと自演楽だからコロコロ変える奴いそうだが
ワッチョイないと自演楽だからコロコロ変える奴いそうだが
8デフォルトの名無しさん (ワッチョイ 83a7-FTwr)
2020/02/20(木) 07:23:34.72ID:W2AwCBod0 息をするように自演するやついるんだよな
プログラマというか技術職自体向いて無いからさっさと立ち去ってほしい
プログラマというか技術職自体向いて無いからさっさと立ち去ってほしい
9デフォルトの名無しさん (アウウィフ FFe7-IPX/)
2020/02/20(木) 10:30:18.93ID:sbHTvmgoF >>6
新型チュンコロ感染と一緒で常在化しててもただちに影響はありませんな
新型チュンコロ感染と一緒で常在化しててもただちに影響はありませんな
10デフォルトの名無しさん (アウアウウー Sae7-icJa)
2020/02/20(木) 12:38:26.36ID:M4vgGbqza 言っても無駄だけど、普通の人は2chくんだり、特にこんな人口が少ない板の
人口が少ないスレで「自演」とやらをやりたいなんて動機を持ってない。
もちろんこの世は普通じゃない人もいる。
その普通じゃない人がワッチョイ付いてるぐらいで普通じゃない行為をギブアップするだろうか?
ありえなんじゃないの?
あんあの気が済むだけだよ。
だいたいそもそも他人の自作自演が気になること自体が普通じゃないよ悪いけど。
それ、何が問題なの?意味が分からないよ。
日本って地方の条例どころか国の法律がこういう目的や実効性を吟味せずに
感情論で制定される感情論の国なんだよね。韓国と100%同じ
人口が少ないスレで「自演」とやらをやりたいなんて動機を持ってない。
もちろんこの世は普通じゃない人もいる。
その普通じゃない人がワッチョイ付いてるぐらいで普通じゃない行為をギブアップするだろうか?
ありえなんじゃないの?
あんあの気が済むだけだよ。
だいたいそもそも他人の自作自演が気になること自体が普通じゃないよ悪いけど。
それ、何が問題なの?意味が分からないよ。
日本って地方の条例どころか国の法律がこういう目的や実効性を吟味せずに
感情論で制定される感情論の国なんだよね。韓国と100%同じ
11デフォルトの名無しさん (ラクッペ MM87-wHG4)
2020/02/20(木) 12:40:53.51ID:lwE/hX+lM ワッチョイのどこが有害なのか
なにもしなきゃ無害だろう
なにもしなきゃ無害だろう
12デフォルトの名無しさん (アウウィフ FFe7-IPX/)
2020/02/20(木) 12:43:48.28ID:sbHTvmgoF 防衛する側としてはワッショイのおかげで見なくて済むから気が済むのは確か
13デフォルトの名無しさん (ワッチョイ 6388-qdXs)
2020/02/20(木) 13:22:03.09ID:mvd02NB50 家に鍵かけたって本気の泥棒はどこからでも入ってくる
だから鍵なんて無くすべきだって主張?
一部でも効果があり、他者にデメリットが無いならあっていいんじゃいの?
一部というのが例え1%だろうとあって困らないならあっていいじゃん
デメリットがあるなら効果のある範囲とデメリットの内容の天秤になるのはわかる
そしてその天秤具合は人それぞれなので議論しても答えは出ない宗教論争と一緒
だから鍵なんて無くすべきだって主張?
一部でも効果があり、他者にデメリットが無いならあっていいんじゃいの?
一部というのが例え1%だろうとあって困らないならあっていいじゃん
デメリットがあるなら効果のある範囲とデメリットの内容の天秤になるのはわかる
そしてその天秤具合は人それぞれなので議論しても答えは出ない宗教論争と一緒
14デフォルトの名無しさん (ワッチョイ cf2d-z3z/)
2020/02/20(木) 14:26:02.37ID:0JvS6qsQ0 変な書き込みがあっても、普通は気にしなけりゃいいだけだろう
だけど統合失調症の人には、そういう書き込みが目に入るだけで発狂しちゃうんだろうな
ワッチョイは統合失調症の閲覧者のためにあるようなもん
だけど統合失調症の人には、そういう書き込みが目に入るだけで発狂しちゃうんだろうな
ワッチョイは統合失調症の閲覧者のためにあるようなもん
15デフォルトの名無しさん (ワッチョイ e333-YdYx)
2020/02/20(木) 14:37:30.03ID:ZbpWL9ae0 毎日IDでNGに放り込むか、週一でワッチョイでNGに放り込むかの違いしかないなw
16デフォルトの名無しさん (アウアウウー Sae7-xY2O)
2020/02/20(木) 15:19:48.73ID:IVVK5qcRa 道端に落ちてるゴミや犬の糞は見たくない。掃除するのが毎日なのか週一ですむのかなら、後者の方がありがたいというのは普通の感覚だと思うぞ。
17デフォルトの名無しさん (ワッチョイ 6388-qdXs)
2020/02/20(木) 15:20:24.08ID:mvd02NB50 ワッチョイって後ろ4文字は1週間でもかわんないんじゃなかった?
いつも後ろ4文字でNG入れてるわ
いつも後ろ4文字でNG入れてるわ
18デフォルトの名無しさん (ワッチョイ ffb9-icXw)
2020/02/20(木) 15:36:09.44ID:jdtbGwr30 相談させてください。
System.Windows 名前空間の Thickness 構造体をキーとした
Dictionary のパフォーマンスが期待通りにならなかったので、
試しに new Thickness(0), new Thickness(1), new Thickness(2), ...
のハッシュコードを調べてみたところ、すべて 0 になっていました。
ひとまず以下のような EqualityComparer を定義して対応しているのですが、
もう少し真っ当な解決策がありましたらアドバイスをいただけないでしょうか。
class ThicknessEqualityComparer : IEqualityComparer<Thickness>
{
public bool Equals(Thickness tx, Thickness ty)
=> tx.Equals(ty);
public int GetHashCode(Thickness t)
=> (t.Left, t.Top, t.Right, t.Bottom).GetHashCode();
}
それから、もし Thickness 構造体のこの挙動が不具合だとすれば
フィードバックを行おうと思っているのですが、ご意見をいただけないでしょうか。
また実際にフィードバックを行う際は、送信先は IDE である Visual Studio の
メニューバーの「ヘルプ(H) → フィードバックを送信(F)」で適切でしょうか。
どうぞよろしくお願いいたします。
System.Windows 名前空間の Thickness 構造体をキーとした
Dictionary のパフォーマンスが期待通りにならなかったので、
試しに new Thickness(0), new Thickness(1), new Thickness(2), ...
のハッシュコードを調べてみたところ、すべて 0 になっていました。
ひとまず以下のような EqualityComparer を定義して対応しているのですが、
もう少し真っ当な解決策がありましたらアドバイスをいただけないでしょうか。
class ThicknessEqualityComparer : IEqualityComparer<Thickness>
{
public bool Equals(Thickness tx, Thickness ty)
=> tx.Equals(ty);
public int GetHashCode(Thickness t)
=> (t.Left, t.Top, t.Right, t.Bottom).GetHashCode();
}
それから、もし Thickness 構造体のこの挙動が不具合だとすれば
フィードバックを行おうと思っているのですが、ご意見をいただけないでしょうか。
また実際にフィードバックを行う際は、送信先は IDE である Visual Studio の
メニューバーの「ヘルプ(H) → フィードバックを送信(F)」で適切でしょうか。
どうぞよろしくお願いいたします。
19デフォルトの名無しさん (ワッチョイ 8f7c-kENX)
2020/02/20(木) 15:49:35.66ID:huOL9BGI0 https://referencesource.microsoft.com/#PresentationFramework/src/Framework/System/Windows/Thickness.cs,109d8135ab5a3074
Left ^ Top ^ Right ^ Bottomだから全部同値なら0
手抜き実装ではあるが別に不具合というわけでもないな
Left ^ Top ^ Right ^ Bottomだから全部同値なら0
手抜き実装ではあるが別に不具合というわけでもないな
20デフォルトの名無しさん (ワッチョイ ffb9-icXw)
2020/02/20(木) 16:01:01.11ID:jdtbGwr3021デフォルトの名無しさん (ワッチョイ 8f7c-kENX)
2020/02/20(木) 16:23:37.51ID:huOL9BGI0 https://github.com/dotnet/coreclr
.NET CoreのソースだけどValueTupleなら.NET Frameworkでもそのまま持ってきてるんじゃないかな
.NET CoreのソースだけどValueTupleなら.NET Frameworkでもそのまま持ってきてるんじゃないかな
22デフォルトの名無しさん (ワッチョイ e37b-z+Zk)
2020/02/20(木) 17:21:18.55ID:Bpu8FWYY0 >>1スレたて乙
このスレの雑談厨
ワイーワ2 FFdf-IPX/ アウウィフ FFe7-IPX/
ワッチョイ ff63-ufZq
ワッチョイ ff6a-Nz9x
ワッチョイ a3e7-KdKg
アウアウウー Sae7-icJa
ラクッペ MM87-wHG4
ワッチョイ 83a7-FTwr
ワッチョイ 6388-qdXs
ワッチョイ cf2d-z3z/
ワッチョイ e333-YdYx
アウアウウー Sae7-xY2O
相談室で暴れている人
ブーイモ MMff-o/5i
NG推奨
このスレの雑談厨
ワイーワ2 FFdf-IPX/ アウウィフ FFe7-IPX/
ワッチョイ ff63-ufZq
ワッチョイ ff6a-Nz9x
ワッチョイ a3e7-KdKg
アウアウウー Sae7-icJa
ラクッペ MM87-wHG4
ワッチョイ 83a7-FTwr
ワッチョイ 6388-qdXs
ワッチョイ cf2d-z3z/
ワッチョイ e333-YdYx
アウアウウー Sae7-xY2O
相談室で暴れている人
ブーイモ MMff-o/5i
NG推奨
23デフォルトの名無しさん (ワッチョイ ffb9-icXw)
2020/02/20(木) 17:37:44.28ID:jdtbGwr30 >>21
たびたびありがとうございます。
確認したところ、示していただいた URL から確認できる
ValueTuple のハッシュコードは問題なさそうでした。
内容を簡単にご報告させていただきますと、
ValueTuple<T1, T2, ...> の GetHashCode は
System 名前空間の HashCode 構造体の静的メソッドである
int Combine<T1, T2, ...>(T1 value1, T2 value2, ...) を
呼び出しているようです。
int Combine<T1, T2, ...>(T1 value1, T2 value2, ...) メソッドの中身は、
まず hash 変数をシードが固定された乱数で初期化し、
value1, value2, ... それぞれのハッシュコードに
素数の掛け算、足し算、巡回ビットシフトを組み合わせた計算で hash を更新した後、
素数の掛け算と(巡回でない)ビットシフトを組み合わせた最終処理を施して
Combine されたハッシュコードを生成するという、かなり丁寧なものでした。
ちなみに .NET Core なら HashCode 構造体が直接使えるので、
少し文字数は増えますが
(t.Left, t.Top, t.Right, t.Bottom).GetHashCode()
ではなく
HashCode.Combine(
t.Left.GetHashCode(), t.Top.GetHashCode(),
t.Right.GetHashCode(), t.Bottom.GetHashCode()))
と書いたほうがコードの目的が分かりやすいかなと思いました。
それではこのあたりで失礼いたします。
ご親切にどうもありがとうございました。
たびたびありがとうございます。
確認したところ、示していただいた URL から確認できる
ValueTuple のハッシュコードは問題なさそうでした。
内容を簡単にご報告させていただきますと、
ValueTuple<T1, T2, ...> の GetHashCode は
System 名前空間の HashCode 構造体の静的メソッドである
int Combine<T1, T2, ...>(T1 value1, T2 value2, ...) を
呼び出しているようです。
int Combine<T1, T2, ...>(T1 value1, T2 value2, ...) メソッドの中身は、
まず hash 変数をシードが固定された乱数で初期化し、
value1, value2, ... それぞれのハッシュコードに
素数の掛け算、足し算、巡回ビットシフトを組み合わせた計算で hash を更新した後、
素数の掛け算と(巡回でない)ビットシフトを組み合わせた最終処理を施して
Combine されたハッシュコードを生成するという、かなり丁寧なものでした。
ちなみに .NET Core なら HashCode 構造体が直接使えるので、
少し文字数は増えますが
(t.Left, t.Top, t.Right, t.Bottom).GetHashCode()
ではなく
HashCode.Combine(
t.Left.GetHashCode(), t.Top.GetHashCode(),
t.Right.GetHashCode(), t.Bottom.GetHashCode()))
と書いたほうがコードの目的が分かりやすいかなと思いました。
それではこのあたりで失礼いたします。
ご親切にどうもありがとうございました。
24デフォルトの名無しさん (アウアウエー Sadf-kvRF)
2020/02/20(木) 18:09:06.51ID:DIV2RvDKa Hello!
って表示された…!
って表示された…!
25デフォルトの名無しさん (ワッチョイ 2335-wHG4)
2020/02/20(木) 18:57:40.71ID:Pb7WanUc0 タプルに一括で関数適用する文法でもあるのかと思った
26デフォルトの名無しさん (ドコグロ MM1f-P13C)
2020/02/20(木) 19:19:27.62ID:2rLj+nIZM >>15
結構でかくね?
結構でかくね?
27デフォルトの名無しさん (アウアウエー Sadf-kvRF)
2020/02/21(金) 03:13:35.78ID:xBmtUMMla 石取りゲームできた…!
日記ですみません
日記ですみません
28デフォルトの名無しさん (ワイーワ2 FFdf-HF0o)
2020/02/21(金) 12:21:46.43ID:5cQWFY2cF おめ
29デフォルトの名無しさん (ラクッペペ MM7f-wHG4)
2020/02/21(金) 12:39:57.96ID:Z2lAagbxM Twitterでやれ
30デフォルトの名無しさん (JP 0Hdf-Hkjj)
2020/02/21(金) 15:08:34.18ID:4h0xZa5sH matrixのライブラリ(C#版 & F#版)
ttp://x0000.net/topic.aspx?id=3711-0
matrixのテンプレート ライブラリ(C++版)
ttp://x0000.net/topic.aspx?id=3674-0
アルファ・ラボ|学術掲示板群
(理系 文系 工学 語学)
ttp://x0000.net/
ttp://x0000.net/topic.aspx?id=3711-0
matrixのテンプレート ライブラリ(C++版)
ttp://x0000.net/topic.aspx?id=3674-0
アルファ・ラボ|学術掲示板群
(理系 文系 工学 語学)
ttp://x0000.net/
31デフォルトの名無しさん (ワッチョイ cf2d-z3z/)
2020/02/22(土) 15:57:17.59ID:7CwG8WAb0 各DIコンテナがやってくれる注入作業って、どういう仕組みで行われているの?
インターフェイスやらコンストラクタの引数やらをリフレクションで取ってきて、注入してるのかな?
インターフェイスやらコンストラクタの引数やらをリフレクションで取ってきて、注入してるのかな?
32デフォルトの名無しさん (ワッチョイ ff01-pEhb)
2020/02/22(土) 16:57:57.77ID:nfgptzfk033デフォルトの名無しさん (ワッチョイ cf2d-z3z/)
2020/02/22(土) 18:39:28.34ID:7CwG8WAb034デフォルトの名無しさん (ワッチョイ b317-Nz9x)
2020/02/22(土) 19:49:40.56ID:CYM04x9q0 OSSの中身確認するのが一番早いよ
入り口さえわかれば後の処理を追うのは簡単
入り口さえわかれば後の処理を追うのは簡単
35デフォルトの名無しさん (ラクッペペ MM7f-wHG4)
2020/02/23(日) 00:10:20.60ID:wbGqawi7M くだらねえ
36デフォルトの名無しさん (ワッチョイ b35f-Nz9x)
2020/02/23(日) 11:37:03.29ID:h4Sd0hn50 すいません。名前の付け方で悩んでます
Wifiをアプリ全体のグローバルにしようとしているのですが、名前をどうつけたものか・・
program.csの中で
static class Program
{
/// <summary>
/// アプリケーションのメイン エントリ ポイントです。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
static public WifiControl WifiCtrl = new WifiControl();//テスト
static private long i=100;//テスト
}
こんな感じで宣言してみたのですがプログラム全体で使われるような変数ってどんなルールで名前つけますか?
このままWifiControlなんて名前でいいものか・・・
Wifiをアプリ全体のグローバルにしようとしているのですが、名前をどうつけたものか・・
program.csの中で
static class Program
{
/// <summary>
/// アプリケーションのメイン エントリ ポイントです。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
static public WifiControl WifiCtrl = new WifiControl();//テスト
static private long i=100;//テスト
}
こんな感じで宣言してみたのですがプログラム全体で使われるような変数ってどんなルールで名前つけますか?
このままWifiControlなんて名前でいいものか・・・
37デフォルトの名無しさん (ワッチョイ b35f-Nz9x)
2020/02/23(日) 11:42:20.62ID:h4Sd0hn50 逆だった
WifiCtrl
でいいものか・・・
WifiCtrl
でいいものか・・・
38デフォルトの名無しさん (アウアウウー Sae7-VXi+)
2020/02/23(日) 12:15:23.08ID:U1SoOOADa WifiControlが自作クラスならそっちをSingletonにして WifiControl.Instance でアクセスできるようにすべき
class WifiControl {
private WifiControl() {}
private static WifiControl _instance = new WifiControl();
public static WifiControl Instance { get => _instance; }
}
WifiControlが改変不能ならstaticプロパティをクラス名と同名で Program.WifiControl にする
へんにクラス名とプロパティ名が不一致なのは良くない
あとProgramクラスよりもEnvとかConfigとかそういう別クラスを作ってそっちのプロパティとして持たせるほうが良い気も
class WifiControl {
private WifiControl() {}
private static WifiControl _instance = new WifiControl();
public static WifiControl Instance { get => _instance; }
}
WifiControlが改変不能ならstaticプロパティをクラス名と同名で Program.WifiControl にする
へんにクラス名とプロパティ名が不一致なのは良くない
あとProgramクラスよりもEnvとかConfigとかそういう別クラスを作ってそっちのプロパティとして持たせるほうが良い気も
39デフォルトの名無しさん (アウアウウー Sae7-icJa)
2020/02/23(日) 15:06:59.69ID:GBgAuRZAa >>36
名前が適切かどうかはそれだけの情報では誰も判断できないでしょうw
質問は変数のネーミングだけど、そもそも変数(フィールド)をそのまま公開するのは
普通は良くない作法だよね。
読み出し専用のプロパティーにした方がいいと思う。
シングルトンにする必要性は個人的には疑問
名前が適切かどうかはそれだけの情報では誰も判断できないでしょうw
質問は変数のネーミングだけど、そもそも変数(フィールド)をそのまま公開するのは
普通は良くない作法だよね。
読み出し専用のプロパティーにした方がいいと思う。
シングルトンにする必要性は個人的には疑問
40デフォルトの名無しさん (ワッチョイ 7f52-xY2O)
2020/02/23(日) 15:19:44.33ID:mVzZkmaX0 >>36
変数名を単体で悩むより、名前空間を適切に使えばいいのでは?
変数名を単体で悩むより、名前空間を適切に使えばいいのでは?
41デフォルトの名無しさん (ブーイモ MMff-BhWx)
2020/02/23(日) 16:11:03.65ID:HGdGso/xM シングルトンかっこいいじゃん
42デフォルトの名無しさん (ワッチョイ 8f0d-D7W+)
2020/02/23(日) 16:40:17.12ID:qRVHuH/p0 わかる
43デフォルトの名無しさん (ワッチョイ a324-D8OL)
2020/02/25(火) 12:06:33.83ID:K+FIgRaj0 シングルトンって利点がよく分からない
それもうstatic classで良くない?って思うんだけど継承とかインターフェースのためだけにそうしないだけ?
それもうstatic classで良くない?って思うんだけど継承とかインターフェースのためだけにそうしないだけ?
44デフォルトの名無しさん (アウウィフ FFe7-IPX/)
2020/02/25(火) 13:15:34.49ID:FzVRg2bhF static Struct
45デフォルトの名無しさん (ワッチョイ 6388-qdXs)
2020/02/25(火) 13:22:35.51ID:5IAL5cM20 singletonならインスタンス生成タイミングを制御できる利点がある
初期の立ち上げを極力軽くしたい時とか
そういうのあんま気にしなくていい環境ならstaticでもいいかと
初期の立ち上げを極力軽くしたい時とか
そういうのあんま気にしなくていい環境ならstaticでもいいかと
46デフォルトの名無しさん (ワッチョイ 83a7-FTwr)
2020/02/25(火) 13:30:56.90ID:rfLfmv0Z0 >>43
デバイスなどのアクセスでインスタンス2つ持ちが意味無いかバッティングするから1つにしたいとき?
ログ出力とか単一のファイル書き込み読み込み
DBアクセス(同時アクセス不可時)とかいいかな?
一応やっといてバッティング対策必要だったらやる感じで?
(まあ、だいたいライブラリ側でやってくれっけど)
デバイスなどのアクセスでインスタンス2つ持ちが意味無いかバッティングするから1つにしたいとき?
ログ出力とか単一のファイル書き込み読み込み
DBアクセス(同時アクセス不可時)とかいいかな?
一応やっといてバッティング対策必要だったらやる感じで?
(まあ、だいたいライブラリ側でやってくれっけど)
47デフォルトの名無しさん (ワッチョイ a324-D8OL)
2020/02/25(火) 14:03:18.98ID:K+FIgRaj0 >>45
static classだって静的コンストラクタで実質同じ事できるじゃん
_instance ?? (_instance = new Class())って形と実質同じだよね
まぁ継承使えないとか制約多いからってことなんだろうけど、staticおじさんアレルギーなのか知らないけど死んでもstaticは使わないって風潮もどうかと思う昨今
static classだって静的コンストラクタで実質同じ事できるじゃん
_instance ?? (_instance = new Class())って形と実質同じだよね
まぁ継承使えないとか制約多いからってことなんだろうけど、staticおじさんアレルギーなのか知らないけど死んでもstaticは使わないって風潮もどうかと思う昨今
48デフォルトの名無しさん (アウアウウー Sae7-icJa)
2020/02/25(火) 14:12:26.94ID:o7stKPona ほとんどの場合ちょっと大げさ過ぎる感じなんだよねシングルトン。
唯一であることを保証するのにそこまで強制力が必要か疑問だし、
唯一であることを保証する責任を「その」クラス自身に負わせるのが本当に妥当かどうかも疑わしい。
ほとんどの場合、プログラムで唯一のものを共有したいなら、
共有オブジェクト取得用のstaticクラスを作る方が普通に素直な考え方に感じるよね。
必要論者はポカ防止のために強制力が必要って言うんだろうけど
それは問題のすり替えだと思うんだよね。
そんなポカが起こる状況自体が間違ってるよね。
もちろん絶対の強制力が必要なケースだってたぶんあるとは思うけど。
>>47
まあ少なくとも、一度staticクラスでシングルトン実装しちゃうと
今度はマルチにしたいと思っても簡単にできない問題はある。
だからstaticクラスでシングルトンも個人的にはちょっと気持ち悪く感じる
唯一であることを保証するのにそこまで強制力が必要か疑問だし、
唯一であることを保証する責任を「その」クラス自身に負わせるのが本当に妥当かどうかも疑わしい。
ほとんどの場合、プログラムで唯一のものを共有したいなら、
共有オブジェクト取得用のstaticクラスを作る方が普通に素直な考え方に感じるよね。
必要論者はポカ防止のために強制力が必要って言うんだろうけど
それは問題のすり替えだと思うんだよね。
そんなポカが起こる状況自体が間違ってるよね。
もちろん絶対の強制力が必要なケースだってたぶんあるとは思うけど。
>>47
まあ少なくとも、一度staticクラスでシングルトン実装しちゃうと
今度はマルチにしたいと思っても簡単にできない問題はある。
だからstaticクラスでシングルトンも個人的にはちょっと気持ち悪く感じる
49デフォルトの名無しさん (ドコグロ MM67-lfYl)
2020/02/25(火) 14:16:11.11ID:9IyrqwVFM 激しく同意
シングルトンを使う奴はほぼ例外なく「インスタンスを唯一に制限するため」を言い訳にして、その実はグローバル変数が欲しいだけ
実際にはインスタンスが一つでなければならないクラスなどほとんどない
一つしか作れないのではなく「アプリで一つしか必要ない」のであれば、>>48のようにstatic寄せ集めクラスを作るべき
シングルトンを使う奴はほぼ例外なく「インスタンスを唯一に制限するため」を言い訳にして、その実はグローバル変数が欲しいだけ
実際にはインスタンスが一つでなければならないクラスなどほとんどない
一つしか作れないのではなく「アプリで一つしか必要ない」のであれば、>>48のようにstatic寄せ集めクラスを作るべき
50デフォルトの名無しさん (ワッチョイ ff01-pEhb)
2020/02/25(火) 14:33:00.25ID:oSeHo6cg0 >>47
>static classだって静的コンストラクタで実質同じ事できるじゃん
static classのコンストラクタがいつ実行されるかはコントロールできないよ
確実にlazy loadingしたい場合や
高価なリソースなので状況によっては解放したい場合とか
いろいろと使いどころある
逆にシングルトンは面倒くさいから
static classで間に合うユースケースならstatic使っとけばいい
>static classだって静的コンストラクタで実質同じ事できるじゃん
static classのコンストラクタがいつ実行されるかはコントロールできないよ
確実にlazy loadingしたい場合や
高価なリソースなので状況によっては解放したい場合とか
いろいろと使いどころある
逆にシングルトンは面倒くさいから
static classで間に合うユースケースならstatic使っとけばいい
51デフォルトの名無しさん (ワンミングク MM9f-RsP6)
2020/02/25(火) 15:01:43.07ID:IPCihoyTM おかしい…「モダン言語と現行ライブラリ下においてはシングルトンパターンを適用することは通常開発下ではまずないが」という大前提がまったく共有されていない…
もしかして10年前の感覚で脳内敵を殴りつけてスッキリ喋ってる…?
もしかして10年前の感覚で脳内敵を殴りつけてスッキリ喋ってる…?
52デフォルトの名無しさん (ワッチョイ ff63-ufZq)
2020/02/25(火) 15:04:06.03ID:9vKHdmbh0 テメエも皮肉ってればいいと思ってんなよガキ
53デフォルトの名無しさん (ササクッテロ Sp07-4NuP)
2020/02/25(火) 15:27:35.00ID:1xtbBMnCp 死んでもstatic使わない、じゃなくて死んでもシングルトン使わない、の話になってるが
54デフォルトの名無しさん (ワッチョイ 6388-qdXs)
2020/02/25(火) 17:25:56.66ID:5IAL5cM20 singletonがデザパタの中で意義も理解しやすく実装もそこそこ分かりやすく楽で有効に利用できると思わせる範囲が広いから無駄に広まってしまった
他により有効な手段ができても単一インスタンスだからsingletonで!っていう脳死とstaticは結局グローバルだからとにかく駄目!とかいうこれまた脳死が合わさってしぶとく使われているだけじゃない?
他により有効な手段ができても単一インスタンスだからsingletonで!っていう脳死とstaticは結局グローバルだからとにかく駄目!とかいうこれまた脳死が合わさってしぶとく使われているだけじゃない?
55デフォルトの名無しさん (ワッチョイ 730c-Nz9x)
2020/02/25(火) 19:02:03.46ID:YCFpdAhz0 どこにstaticはとにくかくダメだなんて話が出てるのか
56デフォルトの名無しさん (ワッチョイ ffad-KTmx)
2020/02/25(火) 20:48:36.91ID:CjA4SEoV0 GoF初版は4半世紀前のJavaすら出る前だぜ
そろそろ新しい版を誰か書いて
そろそろ新しい版を誰か書いて
57デフォルトの名無しさん (ワッチョイ 83a7-FTwr)
2020/02/25(火) 21:46:44.65ID:rfLfmv0Z0 初めstaticで足りると思ったんだけど
対象のクラスに
継承やIFいんじゃんクソが
ってなるといつの間にかにシングルトンなってたりするだけだ
対象のクラスに
継承やIFいんじゃんクソが
ってなるといつの間にかにシングルトンなってたりするだけだ
58デフォルトの名無しさん (ワッチョイ a34f-Nz9x)
2020/02/25(火) 22:40:31.11ID:BegpSlwc059デフォルトの名無しさん (ワッチョイ a324-D8OL)
2020/02/25(火) 23:30:16.22ID:K+FIgRaj0 >>50
シングルトンが初回アクセス時に実行されるのと同様にstaticコンストラクタもそのクラスのいずれかに初回アクセス時に実行されるから同じ事だと思うよ
シングルトンが初回アクセス時に実行されるのと同様にstaticコンストラクタもそのクラスのいずれかに初回アクセス時に実行されるから同じ事だと思うよ
60デフォルトの名無しさん (ワッチョイ 8a01-k1AF)
2020/02/26(水) 01:29:08.48ID:sMj0eedP0 >>59
初回アクセス時よりも前にロードされることが保証されてるのと
初回アクセスしたそのタイミングで実行されるのとは意味が違う
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/static-classes-and-static-class-members
仕様としては明記されてないが
static classを含むnamespaceがロードされるタイミングでstatic classもロードされてたはず
初回アクセス時よりも前にロードされることが保証されてるのと
初回アクセスしたそのタイミングで実行されるのとは意味が違う
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/static-classes-and-static-class-members
仕様としては明記されてないが
static classを含むnamespaceがロードされるタイミングでstatic classもロードされてたはず
61デフォルトの名無しさん (ワッチョイ 4e7c-FlcA)
2020/02/26(水) 10:56:30.52ID:/kjPVa9J0 型名の一部でしかないnamespaceのロードって何…?
62デフォルトの名無しさん (ワッチョイ 8a01-k1AF)
2020/02/26(水) 11:28:50.62ID:sMj0eedP063デフォルトの名無しさん (スッップ Sdea-Y7lR)
2020/02/26(水) 12:01:04.52ID:QHwYyYy1d 当たり前なんだけどsingletonでしか実現できない話じゃなくてsingletonなら自然にできる話だからね
singletonじゃなくたって実現方法はいくらでもある
こうすりゃできるなんてわかりきった上で話してるんだよ
singletonじゃなくたって実現方法はいくらでもある
こうすりゃできるなんてわかりきった上で話してるんだよ
64デフォルトの名無しさん (ワッチョイ b301-8X5p)
2020/02/26(水) 12:04:17.00ID:xo5HgIYJ0 >>63
そのsingletonが有用な場面ってのを解説してくれ
そのsingletonが有用な場面ってのを解説してくれ
65デフォルトの名無しさん (スッップ Sdea-Y7lR)
2020/02/26(水) 12:08:38.94ID:QHwYyYy1d66デフォルトの名無しさん (スッップ Sdea-Y7lR)
2020/02/26(水) 12:11:40.77ID:QHwYyYy1d ところでsingletonが有用な場面ってどっから湧いた話?
過去レス確認したけど、俺そんなこと言ってなかったんだけど
過去レス確認したけど、俺そんなこと言ってなかったんだけど
67デフォルトの名無しさん (ワッチョイ 0b24-7Py6)
2020/02/26(水) 12:16:01.74ID:91Y2xJrV068デフォルトの名無しさん (JP 0H82-SZE8)
2020/02/26(水) 14:16:45.27ID:oid0ZUpoH ある強力なFor関数を紹介いたす(C#)
ttp://x0000.net/topic.aspx?id=3630-0
アルファ・ラボ|学術掲示板群
(理系 文系 工学 語学)
ttp://x0000.net/
ttp://x0000.net/topic.aspx?id=3630-0
アルファ・ラボ|学術掲示板群
(理系 文系 工学 語学)
ttp://x0000.net/
69デフォルトの名無しさん (ワッチョイ 4e7c-FlcA)
2020/02/26(水) 15:11:05.12ID:/kjPVa9J0 ただのAggregateでは?
70デフォルトの名無しさん (アウアウウー Sa2f-A7eh)
2020/02/26(水) 17:52:39.14ID:FtoTEkgba >>64
昨日>>48に書いた通り俺は唯一性に強制力を持たせる必要性については
懐疑的だけど、シングルトン的な発想が有用なケースは結構あるとは思う
例えばUIでいろんな場面で表示する必要があるサブ画面みたいなのがある時、
こんなことやってる人多いんじゃないかな
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private static Form2 Singleton { get; set; }
public static void ShowSingleton()
{
if (Singleton == null || Singleton.IsDisposed) Singleton = new Form2();
if (Singleton.WindowState == FormWindowState.Minimized)
Singleton.WindowState = FormWindowState.Normal;
Singleton.Show();
Singleton.BringToFront();
}
}
昨日>>48に書いた通り俺は唯一性に強制力を持たせる必要性については
懐疑的だけど、シングルトン的な発想が有用なケースは結構あるとは思う
例えばUIでいろんな場面で表示する必要があるサブ画面みたいなのがある時、
こんなことやってる人多いんじゃないかな
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private static Form2 Singleton { get; set; }
public static void ShowSingleton()
{
if (Singleton == null || Singleton.IsDisposed) Singleton = new Form2();
if (Singleton.WindowState == FormWindowState.Minimized)
Singleton.WindowState = FormWindowState.Normal;
Singleton.Show();
Singleton.BringToFront();
}
}
71デフォルトの名無しさん (ワッチョイ ca42-DFeu)
2020/02/26(水) 18:15:26.79ID:uSMym8r0072デフォルトの名無しさん (ワッチョイ 03a7-efYq)
2020/02/26(水) 18:19:20.31ID:ZCj63VZA0 >>71
一回目は作るべ?
一回目は作るべ?
73デフォルトの名無しさん (アウアウウー Sa2f-A7eh)
2020/02/26(水) 18:21:41.53ID:FtoTEkgba >>71
揚げ足取りはいいけど、よく読んでからにして欲しいよね
揚げ足取りはいいけど、よく読んでからにして欲しいよね
74デフォルトの名無しさん (ワッチョイ ca42-DFeu)
2020/02/26(水) 18:22:19.21ID:uSMym8r00 >>72
つか、インスタンスは自分自身の中にスタティックで用意する
そのクラスのスタティックプロパティー経由でインスタンスを参照するが
最初の参照時にシングルトンクラスで自身の中に生成する
だから外部で使うクラスはインスタンスを明示的に生成しません
つか、インスタンスは自分自身の中にスタティックで用意する
そのクラスのスタティックプロパティー経由でインスタンスを参照するが
最初の参照時にシングルトンクラスで自身の中に生成する
だから外部で使うクラスはインスタンスを明示的に生成しません
75デフォルトの名無しさん (ワッチョイ 4e7c-FlcA)
2020/02/26(水) 18:30:13.02ID:/kjPVa9J0 > インスタンスは自分自身の中にスタティックで用意する
private static Form2 Singleton { get; set; }
用意してるな
> 外部で使うクラスはインスタンスを明示的に生成しません
public static void ShowSingleton()
{
if (Singleton == null || Singleton.IsDisposed) Singleton = new Form2();
してないな
private static Form2 Singleton { get; set; }
用意してるな
> 外部で使うクラスはインスタンスを明示的に生成しません
public static void ShowSingleton()
{
if (Singleton == null || Singleton.IsDisposed) Singleton = new Form2();
してないな
76デフォルトの名無しさん (ドコグロ MM13-bE1b)
2020/02/26(水) 18:40:31.49ID:qN9Z1rJQM >>62
それ実体が生成されないだけでLazy<T>自体はロードされるだろ
それ実体が生成されないだけでLazy<T>自体はロードされるだろ
77デフォルトの名無しさん (ワッチョイ 8a01-k1AF)
2020/02/26(水) 18:42:00.84ID:sMj0eedP0 シングルトンじゃなく
シングルトン的な発想が有用なケースって確かに書いてるね
シングルトン的な発想が有用なケースって確かに書いてるね
78デフォルトの名無しさん (ワッチョイ ca42-DFeu)
2020/02/26(水) 18:50:11.01ID:uSMym8r0079デフォルトの名無しさん (ワッチョイ 9e2d-9Aak)
2020/02/26(水) 19:43:16.15ID:JBdLkQQ40 シングルトンって、昔は、複数インスタンスが作られる可能性を潰すためにやってたんだろうけどさ
今は、主にDIコンテナへの指示みたいなもんとして役立ってんじゃねえのか?
今は、主にDIコンテナへの指示みたいなもんとして役立ってんじゃねえのか?
80デフォルトの名無しさん (ドコグロ MM0b-ff41)
2020/02/26(水) 20:21:07.70ID:J/Z+GoCJM DIコンテナ使ってるなら、DIコンテナが自動的にインスタンス化して単一のインスタンスを各所へ注入してくれるから、
GoFのシングルトンパターン(というかグローバルインスタンスアンチパターンとでも呼ぶべきもの)は全く必要ないよ
GoFのシングルトンパターン(というかグローバルインスタンスアンチパターンとでも呼ぶべきもの)は全く必要ないよ
81デフォルトの名無しさん (ワッチョイ 9e2d-9Aak)
2020/02/26(水) 21:07:30.64ID:JBdLkQQ40 単一かどうかはコンテナへの突っ込み具合で違ってくるんじゃないの
シングルトンでって指定していなければ複数インスタンス化されちゃうでしょう
シングルトンでって指定していなければ複数インスタンス化されちゃうでしょう
82デフォルトの名無しさん (アウアウウー Sa2f-ff41)
2020/02/26(水) 21:12:48.10ID:pSd33gsra 属性などで指定するだけだよ
83デフォルトの名無しさん (ワッチョイ 4e02-zb1h)
2020/02/27(木) 08:46:08.57ID:LiuiNLxS0 >>77
グローバル変数を単にフォームにおいてアクセス制御しただけで次とほぼ変わらないな
staticでいいじゃん側の話に思える
private static Form2 _form;
public static Form2 Hoge{
get{
if(_form == null || _form.IsDisposed)_form ==new Form2();
return _form;
}
}
グローバル変数を単にフォームにおいてアクセス制御しただけで次とほぼ変わらないな
staticでいいじゃん側の話に思える
private static Form2 _form;
public static Form2 Hoge{
get{
if(_form == null || _form.IsDisposed)_form ==new Form2();
return _form;
}
}
84デフォルトの名無しさん (ササクッテロル Sp03-0+be)
2020/02/27(木) 08:57:22.75ID:/W1ksVR5p もうめんどくせえからstaticも中でシングルトン使ってるから
実質シングルトンパターンって事でいいよ
実質シングルトンパターンって事でいいよ
85デフォルトの名無しさん (アウアウウー Sa2f-A7eh)
2020/02/27(木) 12:49:09.42ID:ENhVujQ1a86デフォルトの名無しさん (オッペケ Sr03-8X5p)
2020/02/27(木) 17:27:49.50ID:0jrc+WC1r そのアイデアを実現する手法としてstaticはどうだって話してたんじゃないないのか
87デフォルトの名無しさん (ドコグロ MM02-bE1b)
2020/02/27(木) 19:49:51.32ID:6N44UBOdM88デフォルトの名無しさん (ワッチョイ 03a7-efYq)
2020/02/27(木) 20:14:51.21ID:NGAf+NLq0 うっかり2つ作らせない方法だからな
89デフォルトの名無しさん (アウアウウー Sa2f-A7eh)
2020/02/27(木) 22:15:47.05ID:ENhVujQ1a >>87
日本人と欧米人の論争の仕方の違いは明らかで、
それは別に俺のオリジナルの見解でも何でもないよw
今のこの話なら、日本人のダメなところは「シングルトンパターンの利点はここで問題点はここで」
という議論が苦手なこと。
日本人は一度決めた「立場」に固執して全肯定か全否定かになりやすい。
好き嫌いを持ち込むべきでない評価に好き嫌いを持ち込みがち。
エディターとかはいいんよ別に好き嫌いで語れば。技術的な話はおかしいでしょ。
板違いだからもう止めるけどね。
日本人と欧米人の論争の仕方の違いは明らかで、
それは別に俺のオリジナルの見解でも何でもないよw
今のこの話なら、日本人のダメなところは「シングルトンパターンの利点はここで問題点はここで」
という議論が苦手なこと。
日本人は一度決めた「立場」に固執して全肯定か全否定かになりやすい。
好き嫌いを持ち込むべきでない評価に好き嫌いを持ち込みがち。
エディターとかはいいんよ別に好き嫌いで語れば。技術的な話はおかしいでしょ。
板違いだからもう止めるけどね。
90デフォルトの名無しさん (ワッチョイ ca01-bE1b)
2020/02/27(木) 22:46:12.99ID:RMeeA8fN0 >>89
> 今のこの話なら、日本人のダメなところは「シングルトンパターンの利点はここで問題点はここで」
> という議論が苦手なこと。
それでどちらかに決まるなら宗教戦争なんてすぐに解決してるよw
そもそも技術的な話とか言うわりには
> それが分かりやすいですか?
なんて人によって意見が違うことを言い出すから戦争はいつまで経っても終わらないわけで…
> 今のこの話なら、日本人のダメなところは「シングルトンパターンの利点はここで問題点はここで」
> という議論が苦手なこと。
それでどちらかに決まるなら宗教戦争なんてすぐに解決してるよw
そもそも技術的な話とか言うわりには
> それが分かりやすいですか?
なんて人によって意見が違うことを言い出すから戦争はいつまで経っても終わらないわけで…
91デフォルトの名無しさん (ワッチョイ 03a7-efYq)
2020/02/27(木) 23:52:28.63ID:NGAf+NLq0 >>89
まあ、外人ならってのは幻想だな
そもそも奴らがそんなに頭が良かったのならオブジェクト指向なんて流行ってない
リーナスが言ったようにオブジェクト指向はカルトだ
誰もメリットなんて説明できない
それでも海を超えて日本へ来たのさ
まあ、外人ならってのは幻想だな
そもそも奴らがそんなに頭が良かったのならオブジェクト指向なんて流行ってない
リーナスが言ったようにオブジェクト指向はカルトだ
誰もメリットなんて説明できない
それでも海を超えて日本へ来たのさ
92デフォルトの名無しさん (アウアウウー Sa2f-A7eh)
2020/02/28(金) 00:58:28.47ID:W4dF7kHwa93デフォルトの名無しさん (ワッチョイ ca01-bE1b)
2020/02/28(金) 06:43:53.39ID:lgmUZMDZ094デフォルトの名無しさん (ワッチョイ 4a63-ZWRU)
2020/02/28(金) 09:46:17.62ID:JX0D/Sej0 いつもいつも同じ流れでよく飽きないですねカスども
95デフォルトの名無しさん (ワッチョイ 4a42-DFeu)
2020/02/28(金) 14:13:28.76ID:zv3KdV1x0 シングルトン的なものが必要になったら、殆どはDIのインジェクションでなんとかするけど
コレクションの要素にインジェクションなんて鬱陶しいから普通のシングルトンやStatic Class使ったりするな
コレクションの要素にインジェクションなんて鬱陶しいから普通のシングルトンやStatic Class使ったりするな
96デフォルトの名無しさん (スフッ Sdea-S34E)
2020/02/28(金) 16:17:34.85ID:5jfHvjE1d シングルトンに依存するコレクションのエレメントとかちょっと悪夢だな。
97デフォルトの名無しさん (ワッチョイ cb4f-/wOo)
2020/03/01(日) 05:50:05.37ID:wVHwYgLC0 これが最新ぽいな
98デフォルトの名無しさん (ワッチョイ af17-DFeu)
2020/03/01(日) 07:54:47.18ID:cyJFDbBK0 42 デフォルトの名無しさん 2020/03/01(日) 05:43:23.78 ID:wVHwYgLC
なんだ?この糞スレ
と思ったら2016年だとwww
どこから引っ張り出したんだよ
なんだ?この糞スレ
と思ったら2016年だとwww
どこから引っ張り出したんだよ
99デフォルトの名無しさん (ワッチョイ 679b-DFeu)
2020/03/02(月) 10:29:43.95ID:NX3+Q9hq0 C#というより.NET Framework全般の問題かもしれませんが・・・
ビルドした実行ファイルの拡張子を7zにして開けると
.rsrc(フォルダ)
.text
.reloc
というファイルが出てきます
このうち「.text」をエディタで開けると
「C:\Users\ユーザー名\source\repos\プロジェクト名\obj\Release\実行ファイル名.pdb」
の文字列がそのまま入っておりユーザー名まで見えてしまいます
プロジェクトのプロパティなど見てみましたが該当する文字列は設定されていませんでした
この文字列が入らないようにビルドするにはどうすれば良いでしょうか?
ビルドした実行ファイルの拡張子を7zにして開けると
.rsrc(フォルダ)
.text
.reloc
というファイルが出てきます
このうち「.text」をエディタで開けると
「C:\Users\ユーザー名\source\repos\プロジェクト名\obj\Release\実行ファイル名.pdb」
の文字列がそのまま入っておりユーザー名まで見えてしまいます
プロジェクトのプロパティなど見てみましたが該当する文字列は設定されていませんでした
この文字列が入らないようにビルドするにはどうすれば良いでしょうか?
100デフォルトの名無しさん (ワッチョイ 1bda-himO)
2020/03/02(月) 10:31:50.59ID:++2P6Dav0 mtawmg
101デフォルトの名無しさん (ワッチョイ 4e7c-FlcA)
2020/03/02(月) 10:56:03.68ID:dv6bLfIQ0 プロジェクトのプロパティでデバッグ情報の出力を「なし」か「埋め込み」にする
なしの場合はデバッグが難しいから頒布する用のリリースビルドだけにした方が良い
なしの場合はデバッグが難しいから頒布する用のリリースビルドだけにした方が良い
102デフォルトの名無しさん (アウウィフ FF2f-X91k)
2020/03/02(月) 11:01:21.30ID:glnmwhpKF103デフォルトの名無しさん (ワッチョイ 679b-DFeu)
2020/03/02(月) 11:30:46.56ID:NX3+Q9hq0104デフォルトの名無しさん (ワッチョイ 9f24-xiWk)
2020/03/04(水) 15:33:24.81ID:WNB6X6E30 yield returnの挙動について知りたいのですが、
例えばHuman[]からある苗字のHumanインスタンスだけを列挙する場合、
yield returnで貰えば新たな配列は生成されないという理解で良いんでしょうか?(無駄なヒープの生成なども無いと)
例えばHuman[]からある苗字のHumanインスタンスだけを列挙する場合、
yield returnで貰えば新たな配列は生成されないという理解で良いんでしょうか?(無駄なヒープの生成なども無いと)
105デフォルトの名無しさん (ワッチョイ 4f7c-MjGO)
2020/03/04(水) 15:41:47.96ID:VYRn8ATr0 配列は生成されないけどIEnumerable<T>/IEnumerator<T>の実体クラスのインスタンスは作られるよ
具体的にどんなクラスになるかはildasm.exeとかで確認してみるといいよ
具体的にどんなクラスになるかはildasm.exeとかで確認してみるといいよ
106デフォルトの名無しさん (ワッチョイ ef4a-Xzyn)
2020/03/04(水) 20:59:26.02ID:i/lDlkx00 var a = new int[10];
for(......){
......
}
for(......){
var a = new int[10];
......
}
配列変数の場合はどちらの書き方が正しいでしょうか?
下のほうはループを繰り返す毎に配列を宣言してるので無駄だと思うのですが
for(......){
......
}
for(......){
var a = new int[10];
......
}
配列変数の場合はどちらの書き方が正しいでしょうか?
下のほうはループを繰り返す毎に配列を宣言してるので無駄だと思うのですが
107デフォルトの名無しさん (ドコグロ MM4f-blPw)
2020/03/04(水) 21:02:11.58ID:O/qwuvY6M >>106
意味が違うからどっちが正しいもクソもない
意味が違うからどっちが正しいもクソもない
108デフォルトの名無しさん (ワッチョイ efda-Lqe9)
2020/03/04(水) 21:03:35.42ID:nSjoZipw0 ......の内容が大事だよなw
109デフォルトの名無しさん (ワッチョイ 4b35-odL1)
2020/03/04(水) 21:18:09.87ID:vFPRvz7l0 >>106
どっちが正しいかは何をしたいかによる
どっちが正しいかは何をしたいかによる
110デフォルトの名無しさん (ワッチョイ 4b2d-hds7)
2020/03/04(水) 22:58:57.68ID:Mg+OXMHj0111デフォルトの名無しさん (ワッチョイ 8b63-UVo+)
2020/03/04(水) 23:03:21.69ID:w6hLhDKv0 全然違うと思う
112デフォルトの名無しさん (ワッチョイ 9fad-b9E5)
2020/03/05(木) 02:53:17.71ID:FOFXma0P0 >>106
後者はループ処理毎にaが初期化されるが
前者はループ処理毎にaは初期化されない
って違いがあるので、バグが発生しにくいのは後者で
バグは発生しやすいけど効率がいいのが前者
前のループのaを使わないなら、どちらも正しいよ
後者はループ処理毎にaが初期化されるが
前者はループ処理毎にaは初期化されない
って違いがあるので、バグが発生しにくいのは後者で
バグは発生しやすいけど効率がいいのが前者
前のループのaを使わないなら、どちらも正しいよ
113デフォルトの名無しさん (ワッチョイ 8b48-107Z)
2020/03/05(木) 09:03:52.56ID:Zalo0Xqn0 for内部で毎回一時バッファが必要ならfor内に書くべきだけど、ループ枚に配列生成は高コストなのでstackalloc使って良いと思うけどな
unsafe for ()
{
var a = stackalloc int[10]; //配列サイズが[200000]ほど以上になるとスタックオーバーフローの恐れが出てくるので注意
a[0] = 123;
}
unsafe for ()
{
var a = stackalloc int[10]; //配列サイズが[200000]ほど以上になるとスタックオーバーフローの恐れが出てくるので注意
a[0] = 123;
}
114デフォルトの名無しさん (ワッチョイ 1bad-Ff7g)
2020/03/05(木) 09:55:29.22ID:C+Zq+iEs0115デフォルトの名無しさん (ワッチョイ 9f01-AjW4)
2020/03/05(木) 10:13:49.21ID:sz7+iaAj0 言語ではなくて設計のことなのですが、C#でデスクトップアプリを作っていて、canvasに描画する処理を書いてます
そこで、描画部分で状態の更新(例えばlabelで表示する値の計算)を一緒にやった方が負荷が減らせるなと思ったのですがこれは設計としていいのでしょうか?
描画部分は複雑になっていくので、そこにcanvasの描画に関係ない処理を持ってくるのはどうなのかと悩んでます
でも一連の処理で共通部分があるので出来る限り負荷を減らしたいです
canvasの描画とその他の更新でうまく分けた方がいいでしょうか
そこで、描画部分で状態の更新(例えばlabelで表示する値の計算)を一緒にやった方が負荷が減らせるなと思ったのですがこれは設計としていいのでしょうか?
描画部分は複雑になっていくので、そこにcanvasの描画に関係ない処理を持ってくるのはどうなのかと悩んでます
でも一連の処理で共通部分があるので出来る限り負荷を減らしたいです
canvasの描画とその他の更新でうまく分けた方がいいでしょうか
116デフォルトの名無しさん (アウアウウー Sa0f-blPw)
2020/03/05(木) 10:16:15.59ID:4EDBtik+a >>113
悪いけど、それは全く意味ないと思うよ
ループ内で配列を生成する必要があるとしたら、それを他の非同期なメソッドなどに渡していて毎回インスタンスを別にしなければならないケースだろう
stackallocだと領域が結局使い回されてしまうから、それでいいんだったら単純に最初にnewした配列をループ内で毎回クリアして使えばよい
悪いけど、それは全く意味ないと思うよ
ループ内で配列を生成する必要があるとしたら、それを他の非同期なメソッドなどに渡していて毎回インスタンスを別にしなければならないケースだろう
stackallocだと領域が結局使い回されてしまうから、それでいいんだったら単純に最初にnewした配列をループ内で毎回クリアして使えばよい
117デフォルトの名無しさん (ドコグロ MM0f-blPw)
2020/03/05(木) 10:28:10.79ID:9nI/lMlHM >>115
描画処理は今の状態のスナップショットを画面に反映させるだけなんだろ?
そんなもん状態の更新処理と何をどう共有するんだよ
分けるかどうかは別にして、そんな頭がごっちゃになった状態で書かれたコードなんて俺は読みたくないな
描画処理は今の状態のスナップショットを画面に反映させるだけなんだろ?
そんなもん状態の更新処理と何をどう共有するんだよ
分けるかどうかは別にして、そんな頭がごっちゃになった状態で書かれたコードなんて俺は読みたくないな
118デフォルトの名無しさん (ワッチョイ 9f24-CBSz)
2020/03/05(木) 10:30:44.90ID:e30M4A2z0119デフォルトの名無しさん (ワッチョイ 9f01-AjW4)
2020/03/05(木) 11:02:10.43ID:sz7+iaAj0 >>117
すみません誤解を招く書き方でした
状態の更新ではなくviewの更新です
viewで表示する値を計算するのに一連の処理が必要ということです
改めて考えてみたら元のデータは頻繁に変わるものではないのでメモ化で対処できそうです
すみません誤解を招く書き方でした
状態の更新ではなくviewの更新です
viewで表示する値を計算するのに一連の処理が必要ということです
改めて考えてみたら元のデータは頻繁に変わるものではないのでメモ化で対処できそうです
120デフォルトの名無しさん (ワッチョイ cb01-xiWk)
2020/03/05(木) 15:17:30.80ID:X7H8oXB10 自分で使う用のWindows用WinFormsくらいしか作らない俺もSpan利用したいんだけど、そろそろ.NetCore3.1インスコしてええの?
CoreのWinFormsは不完全みたいな事どっかで聞いたからもうかれこれ1年以上.Net Framework4.7.2しか使ってないんだけど
CoreのWinFormsは不完全みたいな事どっかで聞いたからもうかれこれ1年以上.Net Framework4.7.2しか使ってないんだけど
121デフォルトの名無しさん (ワッチョイ efd6-Inmc)
2020/03/06(金) 12:20:46.76ID:H9scC1320 System.Memoryパッケージ入れれば、slow spanになるけど.NET FrameworkでもSpan<T>が使える
122デフォルトの名無しさん (ベーイモ MM7f-9hvn)
2020/03/06(金) 12:24:09.85ID:7SrrBNmuM SpanならnugetからSystem.Memoryを入れればNET47でも使えるんじゃ?
123デフォルトの名無しさん (ベーイモ MM7f-9hvn)
2020/03/06(金) 12:24:46.59ID:7SrrBNmuM あ、かぶった
124デフォルトの名無しさん (ワッチョイ 4f7c-kMfZ)
2020/03/10(火) 13:54:33.08ID:Xb+4Rppb0 Hoge[] h = new Hoge[]{...};
ArraySegment<Hoge> slice_of_h = new ArraySegment<Hoge>(h, a, b);
Hoge[] new_instance = slice_of_h.ToArray();
ArraySegment<Hoge> slice_of_h = new ArraySegment<Hoge>(h, a, b);
Hoge[] new_instance = slice_of_h.ToArray();
125デフォルトの名無しさん (ラクッペペ MMe6-0jaE)
2020/03/11(水) 20:14:38.79ID:Atur+UVNM FormアプリケーションのGUIをそのままWebサイトにできますか?
126デフォルトの名無しさん (ワッチョイ 0263-Xa2H)
2020/03/11(水) 20:15:50.74ID:JtvZFGdC0 無理
127デフォルトの名無しさん (ワイーワ2 FFca-cUsN)
2020/03/12(木) 13:35:24.24ID:MzPDqAwNF128デフォルトの名無しさん (アウアウウー Sac5-Syvm)
2020/03/12(木) 14:08:08.81ID:jMpYX7Pla >>127
懐かしい話だな
.NET Standard はあろうことか 2.1 で .NET Framework を切り捨てたから、もはや .NET Standard には何の意味もなくなり事実上消滅したよ
懐かしい話だな
.NET Standard はあろうことか 2.1 で .NET Framework を切り捨てたから、もはや .NET Standard には何の意味もなくなり事実上消滅したよ
129デフォルトの名無しさん (スップ Sd02-YgZJ)
2020/03/12(木) 14:19:52.98ID:GlTl0MmId まだ消滅してないよ
130デフォルトの名無しさん (ワッチョイ 51da-cUsN)
2020/03/12(木) 14:40:04.55ID:dkoVUBxw0131デフォルトの名無しさん (アウアウウー Sac5-Syvm)
2020/03/12(木) 15:00:48.26ID:jMpYX7Pla >>130
下の方は誤解を招く書き方(というか本人が理解してなさそう)だね
.NET5は.NET CoreとXamarinの新バージョンを含むが、.NET Frameworkは含まない
.NET Frameworkは4.xが最後のバージョンとなり、(Xamarinを除けば).NET Coreへ一本化される
下の方は誤解を招く書き方(というか本人が理解してなさそう)だね
.NET5は.NET CoreとXamarinの新バージョンを含むが、.NET Frameworkは含まない
.NET Frameworkは4.xが最後のバージョンとなり、(Xamarinを除けば).NET Coreへ一本化される
132デフォルトの名無しさん (オッペケ Sr91-drwQ)
2020/03/12(木) 20:38:24.41ID:RlMroztpr > Xamarin は、テクノロジー自体は、.NET Framework と C# を基盤としていますが、
> Mono というライブラリを使用します
> Mono というライブラリを使用します
133デフォルトの名無しさん (ドコグロ MM4a-Syvm)
2020/03/12(木) 23:53:50.67ID:jAjbL2IrM >>132
それは明確に間違いだね
Monoは元々MSとは無関係の会社による.NET Frameworkの非公式かつ独自な互換実装で、.NET Frameworkとはソースを共有していない
based on かなんかを誤訳したんじゃね
それは明確に間違いだね
Monoは元々MSとは無関係の会社による.NET Frameworkの非公式かつ独自な互換実装で、.NET Frameworkとはソースを共有していない
based on かなんかを誤訳したんじゃね
134デフォルトの名無しさん (ワッチョイ 0135-0jaE)
2020/03/13(金) 00:04:41.45ID:1UhKFURs0 テクノロジーを基盤してるって書いてるだけじゃん
ライブラリがおかしい
ライブラリがおかしい
135デフォルトの名無しさん (スフッ Sda2-Wi6o)
2020/03/13(金) 07:54:41.51ID:/kxy81/Ad136デフォルトの名無しさん (アウアウウー Sac5-cOBK)
2020/03/13(金) 12:12:59.24ID:1Ll5zbJna 毎度のことだけど用語の定義のあいまいさからくる混乱だろうね
>>132の引用部分を書いた人は「NET FrameworkをVS2002とかの時代の意味で使ってるんでしょ。
当時は仮想OSみたいに言われてた
その定義だと.NET Coreも.NET Frameworkになっちゃうので(以下略
>>132の引用部分を書いた人は「NET FrameworkをVS2002とかの時代の意味で使ってるんでしょ。
当時は仮想OSみたいに言われてた
その定義だと.NET Coreも.NET Frameworkになっちゃうので(以下略
137デフォルトの名無しさん (ワッチョイ 61dd-gN7l)
2020/03/14(土) 03:14:07.89ID:+KBSM6L30 C#の正規表現についてですが...
new Regex(@"^a").IsMatch("abc",0) → true : 納得。
new Regex(@"^a").IsMatch("abc",1) → false : 納得。
new Regex(@"^b").IsMatch("abc",0) → false : 納得。
new Regex(@"^b").IsMatch("abc",1) → false : 納得...できん!!
第2引数が1なら、^で示す入力文字列の先頭が2文字目になってて欲しいじゃん!?
MSDNとか、この挙動について何か書いてある?見つけられなかったわ。
substringとかしたくないんだよな...
なんでこういう挙動になるか、ご存じの方いますか。
new Regex(@"^a").IsMatch("abc",0) → true : 納得。
new Regex(@"^a").IsMatch("abc",1) → false : 納得。
new Regex(@"^b").IsMatch("abc",0) → false : 納得。
new Regex(@"^b").IsMatch("abc",1) → false : 納得...できん!!
第2引数が1なら、^で示す入力文字列の先頭が2文字目になってて欲しいじゃん!?
MSDNとか、この挙動について何か書いてある?見つけられなかったわ。
substringとかしたくないんだよな...
なんでこういう挙動になるか、ご存じの方いますか。
138デフォルトの名無しさん (ワッチョイ 7e02-JJJ8)
2020/03/14(土) 03:47:52.84ID:eoDNI2O30139デフォルトの名無しさん (ワッチョイ 7e02-JJJ8)
2020/03/14(土) 03:55:38.88ID:eoDNI2O30 第二引数は探索の開始位置を指定するのであって検索範囲をどうこうするためのもんじゃないってことかな?
でもその理屈だと二つ目がfalseである説明にならんし流し読みだから解釈間違ってるかもしれないわ
でもその理屈だと二つ目がfalseである説明にならんし流し読みだから解釈間違ってるかもしれないわ
140デフォルトの名無しさん (ワッチョイ 7e02-JJJ8)
2020/03/14(土) 04:35:36.35ID:eoDNI2O30 139は間違いっぽいので忘れて
IsMatch("abc",0) → abcを探索
IsMatch("abc",1) → bcを探索
リンク先を見るに^は行頭を表すもんでbは行頭ではないのでfalse
aは探索外なので二つ目もfalseってことかな
https://docs.microsoft.com/en-us/dotnet/standard/base-types/anchors-in-regular-expressions
IsMatch("abc",0) → abcを探索
IsMatch("abc",1) → bcを探索
リンク先を見るに^は行頭を表すもんでbは行頭ではないのでfalse
aは探索外なので二つ目もfalseってことかな
https://docs.microsoft.com/en-us/dotnet/standard/base-types/anchors-in-regular-expressions
141デフォルトの名無しさん (アウアウウー Sac5-M7Q/)
2020/03/14(土) 09:39:43.32ID:S+o/zRAGa new Regex()するときにRegexOptions.Multilineを指定して『^』『$』の意味づけを変更・・・しても駄目そうだね
日本語のほうで
https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/regular-expression-options?view=netframework-4.8#multiline-mode
を読んだけど、
あくまで『^』は入力文字列全体(>>137のなら"bc"ではなく"abc")の先頭、MultiLine指定時は\nを行区切りとした行頭についてのみマッチするんだろう
日本語のほうで
https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/regular-expression-options?view=netframework-4.8#multiline-mode
を読んだけど、
あくまで『^』は入力文字列全体(>>137のなら"bc"ではなく"abc")の先頭、MultiLine指定時は\nを行区切りとした行頭についてのみマッチするんだろう
142137 (ワッチョイ 61dd-gN7l)
2020/03/14(土) 11:29:21.74ID:+KBSM6L30 >>138-141
ありがとう!
俺だけではそれらの情報を見つけられなかったわ。
いったん \G を使用することで何とかなりました。
というか \G の仕様(影響範囲)もよくわからん。
最終のマッチってRegexのインスタンスに保存されるのかな?
そうだと思うけど、今一つ確証が持てない。
あと、 \A が正しいんじゃないか、って思いましたが、\Aは「文字列の先頭」でしかないんだね。
Singlelineの場合は^と同じみたい。
ありがとう!
俺だけではそれらの情報を見つけられなかったわ。
いったん \G を使用することで何とかなりました。
というか \G の仕様(影響範囲)もよくわからん。
最終のマッチってRegexのインスタンスに保存されるのかな?
そうだと思うけど、今一つ確証が持てない。
あと、 \A が正しいんじゃないか、って思いましたが、\Aは「文字列の先頭」でしかないんだね。
Singlelineの場合は^と同じみたい。
143デフォルトの名無しさん (ワッチョイ c201-ThK6)
2020/03/17(火) 10:51:26.76ID:phFjovqc0 プログラムではなくライセンスについての質問なのですが、NAudioというライブラリを使いたくてプロジェクトに導入したのですがMs-PLライセンスとなっていて、この場合著作権表示等は具体的にどう表示すればいいのでしょうか。
著作権表示自体がいまいち分かりません。ライセンスの文書(LICENSE.txt等)とは別なのでしょうか。
調べているのですが具体的な表記方法が書かれている記事が無く分かりません。
ご教示お願いします。
著作権表示自体がいまいち分かりません。ライセンスの文書(LICENSE.txt等)とは別なのでしょうか。
調べているのですが具体的な表記方法が書かれている記事が無く分かりません。
ご教示お願いします。
144デフォルトの名無しさん (ワッチョイ 13b9-hdmr)
2020/03/21(土) 13:43:45.29ID:/FH0o/RH0 相談させてください。
以下のような MyClass1 クラスを作ると、
「IDE0054 複合代入を使用」というメッセージが表示されます。
class MyClass1 {
int MyProperty { get; set; } = 0;
public void IncreaseMyProperty(int x)
=> MyProperty = MyProperty + x; // ここでメッセージ
}
まあそりゃそうでしょうということで以下の MyClass2 のように直すと、今度は
「IDE0052 C# プライベート プロパティ は、
その get アクセサーが呼び出されることがないため、メソッドに変換できます。」
というメッセージが表示されてしまいます。
class MyClass2 {
int MyProperty { get; set; } = 0; // ここでメッセージ
public void IncreaseMyProperty(int x)
=> MyProperty += x;
}
なんだそりゃと思いつつ言われたとおり以下の MyClass3 のように直せば
メッセージは表示されなくなるのですが、こんな直し方でいいのでしょうか。
class MyClass3 {
int _MyProperty = 0;
void SetMyProperty(int value) => _MyProperty = value;
public void IncreaseMyProperty(int x)
=> SetMyProperty(_MyProperty + x);
}
ご意見をお聞かせいただけると幸いです。よろしくお願いいたします。
以下のような MyClass1 クラスを作ると、
「IDE0054 複合代入を使用」というメッセージが表示されます。
class MyClass1 {
int MyProperty { get; set; } = 0;
public void IncreaseMyProperty(int x)
=> MyProperty = MyProperty + x; // ここでメッセージ
}
まあそりゃそうでしょうということで以下の MyClass2 のように直すと、今度は
「IDE0052 C# プライベート プロパティ は、
その get アクセサーが呼び出されることがないため、メソッドに変換できます。」
というメッセージが表示されてしまいます。
class MyClass2 {
int MyProperty { get; set; } = 0; // ここでメッセージ
public void IncreaseMyProperty(int x)
=> MyProperty += x;
}
なんだそりゃと思いつつ言われたとおり以下の MyClass3 のように直せば
メッセージは表示されなくなるのですが、こんな直し方でいいのでしょうか。
class MyClass3 {
int _MyProperty = 0;
void SetMyProperty(int value) => _MyProperty = value;
public void IncreaseMyProperty(int x)
=> SetMyProperty(_MyProperty + x);
}
ご意見をお聞かせいただけると幸いです。よろしくお願いいたします。
145デフォルトの名無しさん (ワッチョイ 132c-+ZyR)
2020/03/21(土) 18:45:34.77ID:qqrYKjlY0 MyPropertyが本当に自動実装プロパティなら
そもそもフィールドでいいんでは?
そもそもフィールドでいいんでは?
146デフォルトの名無しさん (アウアウウー Sa5d-NT4g)
2020/03/21(土) 19:30:58.03ID:zN2aQcNta 最近のIDEは賢いから定義されてるけど使用されないことが明らかなプロパティやメソッドが見つかったら警告が出るようになってる
>>144のは文法等のお勉強でてきとうなソースを書いてるんだと思うけど、MyClass2なら
MyPropertyをpublicなプロパティにするか、MyPropertyを参照するような処理をちゃんと書けば警告解消するはず
ToString()あたりをオーバーライドして override string ToString() => MyProperty; とか書いてもいいかもね
>>144のは文法等のお勉強でてきとうなソースを書いてるんだと思うけど、MyClass2なら
MyPropertyをpublicなプロパティにするか、MyPropertyを参照するような処理をちゃんと書けば警告解消するはず
ToString()あたりをオーバーライドして override string ToString() => MyProperty; とか書いてもいいかもね
147デフォルトの名無しさん (ワッチョイ 13b9-hdmr)
2020/03/21(土) 20:37:06.12ID:/FH0o/RH0 >>145
レスありがとうございます。
説明が不十分で申し訳ありません。
実際には、以下の様な感じにしていまして、
できればプロパティを使いたいと考えております。
class MyClass4 {
int _MyProperty = 0;
event EventHandler MyPropertyChanged;
int MyProperty
{
get => _MyProperty;
set {
if (value != _MyProperty) {
_MyProperty = value;
MyPropertyChanged?.Invoke(
this, EventArgs.Empty);
}
}
}
public void IncreaseMyProperty(int x)
=> MyProperty += x;
}
レスありがとうございます。
説明が不十分で申し訳ありません。
実際には、以下の様な感じにしていまして、
できればプロパティを使いたいと考えております。
class MyClass4 {
int _MyProperty = 0;
event EventHandler MyPropertyChanged;
int MyProperty
{
get => _MyProperty;
set {
if (value != _MyProperty) {
_MyProperty = value;
MyPropertyChanged?.Invoke(
this, EventArgs.Empty);
}
}
}
public void IncreaseMyProperty(int x)
=> MyProperty += x;
}
148デフォルトの名無しさん (ワッチョイ 13b9-hdmr)
2020/03/21(土) 20:37:42.93ID:/FH0o/RH0 >>146
レスありがとうございます。
おっしゃるとおりなのですが、MyProperty += x; で
MyProperty の get アクセサーが参照されていることに
ならないため困ってしまっています。
C# の文法的に、自動実装プロパティでなければ
int _MyProperty = 0;
int MyProperty { set => _MyProperty; }
のような書き方も許されているようなのですが、
MyClasss2 の MyProperty の定義をこのように書き換えると、
MyProperty += x;
のところでエラーが出てしまうのです。
レスありがとうございます。
おっしゃるとおりなのですが、MyProperty += x; で
MyProperty の get アクセサーが参照されていることに
ならないため困ってしまっています。
C# の文法的に、自動実装プロパティでなければ
int _MyProperty = 0;
int MyProperty { set => _MyProperty; }
のような書き方も許されているようなのですが、
MyClasss2 の MyProperty の定義をこのように書き換えると、
MyProperty += x;
のところでエラーが出てしまうのです。
149デフォルトの名無しさん (ワッチョイ b963-lb9A)
2020/03/21(土) 20:45:29.55ID:rK+/4ZiL0 警告とエラーを混同しないで
+=オペレータがget使ってないだけでしょ
開発中で今後使う予定がありまだ未実装なら警告はスルーすればいい
+=オペレータがget使ってないだけでしょ
開発中で今後使う予定がありまだ未実装なら警告はスルーすればいい
150デフォルトの名無しさん (アウアウウー Sa5d-NT4g)
2020/03/21(土) 21:05:47.28ID:zN2aQcNta いやだからIDEからは「結局MyPropertyってインクリメントで更新はしてるけどどこからも参照されてないんでしょ、無駄なんじゃない?」と怒られてるわけで
他のC#ソースなりXAMLなりでMyPropertyが参照されてればそのメッセージは出ないはずだけど
例示されてるソースであればMyPropertyだけでなくインクリメントする処理も意味のない無駄な処理だから削ればいいし
GUI側etcのソースがまだ書けてないのであれば中途半端な書きかけソースで警告が出るのは当たり前のお話
というかそもそもでいえば、VisualStudioの設定がデフォルトならそのメッセージは
「コンパイルエラー」でも「警告」でもないただの注意喚起なメッセージでしかないから開発にも実行にも一切支障がないので
とりあえずほっとけばいいと思うんだけど
他のC#ソースなりXAMLなりでMyPropertyが参照されてればそのメッセージは出ないはずだけど
例示されてるソースであればMyPropertyだけでなくインクリメントする処理も意味のない無駄な処理だから削ればいいし
GUI側etcのソースがまだ書けてないのであれば中途半端な書きかけソースで警告が出るのは当たり前のお話
というかそもそもでいえば、VisualStudioの設定がデフォルトならそのメッセージは
「コンパイルエラー」でも「警告」でもないただの注意喚起なメッセージでしかないから開発にも実行にも一切支障がないので
とりあえずほっとけばいいと思うんだけど
151デフォルトの名無しさん (オッペケ Sr85-ED79)
2020/03/22(日) 09:23:59.74ID:knoRzRG7r classをpublicにと言う話ではなく?
152デフォルトの名無しさん (スッップ Sd33-Hfmd)
2020/03/22(日) 15:10:18.53ID:aFZi4Cdad >>147
MyPropatyをSetメソッドにして、インクリメント_MyPropaty+xを渡せばいいんじゃないの?
これでいいんでしょうか?って内容通りだけど単に値を入れるだけならフィールド直接やればって感じだけど追加作業あるならメソッドでやるのは普通だと思う
MyPropatyをSetメソッドにして、インクリメント_MyPropaty+xを渡せばいいんじゃないの?
これでいいんでしょうか?って内容通りだけど単に値を入れるだけならフィールド直接やればって感じだけど追加作業あるならメソッドでやるのは普通だと思う
153デフォルトの名無しさん (ワッチョイ 13ad-hdmr)
2020/03/24(火) 22:53:25.92ID:7FKkbPj60 読んでる入門書の練習問題にアクセサのGetNameメソッドで八文字以下の文字列が渡された場合だけname変数に代入するプログラムを書きなさい
というのがあるんですが、どうやって書けばいいのでしょうか?文字数を判定するプログラムは習ってないので困ってます
というのがあるんですが、どうやって書けばいいのでしょうか?文字数を判定するプログラムは習ってないので困ってます
154デフォルトの名無しさん (ワッチョイ fbd6-hdmr)
2020/03/24(火) 22:59:57.52ID:0+ccCJA90 >>153
stringクラスのメンバーを見てみよう
stringクラスのメンバーを見てみよう
155デフォルトの名無しさん (ワッチョイ 8b7b-EBql)
2020/03/24(火) 23:01:03.36ID:Q5H6MOZK0 >>153
文字数を判定=String.Lengthで判定
https://docs.microsoft.com/ja-jp/dotnet/api/system.string.length?view=netframework-4.8
入門書ならその前の部分の内容で全部答えられるものしか無いはず。そうじゃないのならその入門書は捨てた方がいい
文字数を判定=String.Lengthで判定
https://docs.microsoft.com/ja-jp/dotnet/api/system.string.length?view=netframework-4.8
入門書ならその前の部分の内容で全部答えられるものしか無いはず。そうじゃないのならその入門書は捨てた方がいい
156デフォルトの名無しさん (ワッチョイ 13ad-hdmr)
2020/03/24(火) 23:13:43.00ID:7FKkbPj60157デフォルトの名無しさん (ワッチョイ d1da-InxD)
2020/03/24(火) 23:41:48.49ID:lhWkdEvF0 「猫でもわかる」のほうが良いかも
158デフォルトの名無しさん (ワッチョイ 29f1-dbH2)
2020/03/24(火) 23:51:16.61ID:hJYqJTPr0 猫に分かるわけがない、こんな難しいものを。
「ハゲでもわかる」だろ、どう考えても。
「ハゲでもわかる」だろ、どう考えても。
159デフォルトの名無しさん (ワッチョイ 6e02-hHac)
2020/03/25(水) 04:47:11.72ID:LvLtJ7JB0 猫は誰でもできるということを比喩的に表している
じゃあハゲは?
じゃあハゲは?
160デフォルトの名無しさん (ワッチョイ b1f1-Go5d)
2020/03/25(水) 08:43:43.21ID:nn3rUaIL0 能力の劣る者でもできる
このハゲー、と言われるような者でも
このハゲー、と言われるような者でも
161デフォルトの名無しさん (ワンミングク MM62-iy+3)
2020/03/25(水) 09:09:57.70ID:IkumKzuJM162デフォルトの名無しさん (ワッチョイ 5561-Cd0d)
2020/03/25(水) 10:06:03.74ID:tUU69eV70 >>153
てかなんでGetNameなんだ?SetNameじゃないの?
てかなんでGetNameなんだ?SetNameじゃないの?
163デフォルトの名無しさん (ワッチョイ 852c-zagE)
2020/03/26(木) 00:40:52.54ID:KtVIRudY0 >>162
主観の違いかと思ったけど、確かにセットですね
主観の違いかと思ったけど、確かにセットですね
164デフォルトの名無しさん (ワッチョイ 764a-1K1t)
2020/03/27(金) 23:27:00.17ID:MpMbbGem0 プロポーショナル文字の場合に、画面上の文字の表示位置はどうやって求めるんでしょうか?
1文字ごとに(x,y)座標を計算して配列変数に記憶しておく、
文字を削除、挿入などして位置がずれたときにはすべて計算し直す
というような方法しか思いつきません
1文字ごとに(x,y)座標を計算して配列変数に記憶しておく、
文字を削除、挿入などして位置がずれたときにはすべて計算し直す
というような方法しか思いつきません
165デフォルトの名無しさん (アウアウウー Sacd-PYaq)
2020/03/28(土) 00:41:06.51ID:PEyzMklSa >>164
↓のサンプルコードみたいな話?やったことないから知らんけど
https://docs.microsoft.com/ja-jp/dotnet/api/system.drawing.graphics.measurecharacterranges
↓のサンプルコードみたいな話?やったことないから知らんけど
https://docs.microsoft.com/ja-jp/dotnet/api/system.drawing.graphics.measurecharacterranges
166デフォルトの名無しさん (ワッチョイ 764a-1K1t)
2020/03/28(土) 01:33:04.22ID:7wRTqyNf0 そんな感じです
毎度毎度文字列の長さを測定するのもなあ〜と、ちょっと思ったもので質問しました
毎度毎度文字列の長さを測定するのもなあ〜と、ちょっと思ったもので質問しました
167デフォルトの名無しさん (ワッチョイ 0935-lv27)
2020/03/28(土) 01:43:01.14ID:ngUeRIaE0 削除・挿入した文字列のサイズを全体から足し引きする
168デフォルトの名無しさん (ワッチョイ 55b3-T/6F)
2020/03/28(土) 06:08:44.57ID:k+10ZvFP0 フォントは左右は良いけど上下に謎のスペースが入って扱いづらい。フォント毎に仕様が違うので厄介
169デフォルトの名無しさん (エムゾネ FFb2-nBi6)
2020/03/28(土) 10:27:24.65ID:juOTiA3TF オリンピックじゃないけどカーリング
170デフォルトの名無しさん (ワッチョイ d201-skQs)
2020/03/28(土) 11:24:58.10ID:+WXFsbEZ0 >>164
基本は再描画時に行頭から行末まで1文字つずつカウントアップ
基本は再描画時に行頭から行末まで1文字つずつカウントアップ
171デフォルトの名無しさん (ワッチョイ 92ad-B4Y8)
2020/03/30(月) 07:25:35.74ID:h/V/0o0/0172デフォルトの名無しさん (ワッチョイ b5da-3LRk)
2020/03/30(月) 07:29:34.72ID:6/Nsoznj0 両方たっているのが1000bだから
173デフォルトの名無しさん (ワッチョイ 5ef2-Bt6E)
2020/03/30(月) 07:32:55.44ID:X05REbKS0 >>171
2進数を理解したらわかるよ
2進数を理解したらわかるよ
174デフォルトの名無しさん (ワッチョイ 92ad-B4Y8)
2020/03/30(月) 07:45:18.96ID:h/V/0o0/0175デフォルトの名無しさん (アウアウウー Sacd-SQa6)
2020/03/30(月) 07:56:54.43ID:yPZuudvza >>174
正しく2進数にできてないんじゃないか?いくつになると思ってる?
正しく2進数にできてないんじゃないか?いくつになると思ってる?
176デフォルトの名無しさん (ワッチョイ 92ad-B4Y8)
2020/03/30(月) 08:01:46.25ID:h/V/0o0/0177デフォルトの名無しさん (ワッチョイ 92ad-Lzc3)
2020/03/30(月) 08:04:27.51ID:aCqibAU/0 図2に書いてあるのが全てだが
8という数字ではなく結果が2^3と考える
各ビットについて
「ビットnが1同士=結果は1」を繰り返して全部の桁を足す
この場合ANDの結果が1なるのは4ビット目だけなので
2^3 x 1
+
2^2 x 0
+
2^1 x 0
+
2^0 x 0
の結果が8だ
8という数字ではなく結果が2^3と考える
各ビットについて
「ビットnが1同士=結果は1」を繰り返して全部の桁を足す
この場合ANDの結果が1なるのは4ビット目だけなので
2^3 x 1
+
2^2 x 0
+
2^1 x 0
+
2^0 x 0
の結果が8だ
178デフォルトの名無しさん (ワッチョイ 92ad-B4Y8)
2020/03/30(月) 08:13:24.87ID:h/V/0o0/0179デフォルトの名無しさん (ワッチョイ 92ad-Lzc3)
2020/03/30(月) 08:22:46.27ID:aCqibAU/0 あ、C#には累乗演算子ないか
2^3は「2の3乗」の意味です
Math.Pow(2, 3);
2^3は「2の3乗」の意味です
Math.Pow(2, 3);
180デフォルトの名無しさん (ワッチョイ 92ad-B4Y8)
2020/03/30(月) 08:23:27.68ID:h/V/0o0/0181デフォルトの名無しさん (ワッチョイ 926a-Cd0d)
2020/03/30(月) 22:26:07.20ID:fWO3XlZL0 ほっこりした
182デフォルトの名無しさん (ワッチョイ 5561-W0Je)
2020/03/31(火) 05:00:18.54ID:8jxewuXM0 ◯っこりした
183デフォルトの名無しさん (スフッ Sdb2-zagE)
2020/03/31(火) 12:53:35.20ID:fWUbK/Ahd マッコリした
184デフォルトの名無しさん (ワッチョイ 6924-0ih2)
2020/03/31(火) 14:59:25.16ID:zOJyTQkJ0 どうでもいいんだけど二乗でわざわざMath.Powを使う人の狙いって何?
普通にx*xで良いじゃん
普通にx*xで良いじゃん
185デフォルトの名無しさん (アウウィフ FFcd-MKsy)
2020/03/31(火) 15:02:22.73ID:uDSFrRRVF i x i
186デフォルトの名無しさん (ワッチョイ 5561-Cd0d)
2020/03/31(火) 15:05:29.08ID:iZe8wtQ40 累乗であることを明確にできるんでMath.Powのほうがいいような気がするなあ。
187デフォルトの名無しさん (ワッチョイ 45ac-tCKN)
2020/04/01(水) 00:45:48.53ID:7LP+CGQA0 >>185
かわいくてほっこりするからアリ
かわいくてほっこりするからアリ
188デフォルトの名無しさん (ワッチョイ 2b02-kVLW)
2020/04/01(水) 03:52:03.60ID:lVwFrbjs0 あえてこじつけるなら仕様書通りの表現ができること
2乗の値をってなってるのが3乗の値に仕様変更された時差分で2が3に変わってる方がわかりやすい
2乗の値をってなってるのが3乗の値に仕様変更された時差分で2が3に変わってる方がわかりやすい
189デフォルトの名無しさん (ワッチョイ 2361-reLO)
2020/04/01(水) 07:47:41.17ID:MqGhAKfu0190デフォルトの名無しさん (ドコグロ MM93-5poS)
2020/04/01(水) 09:27:50.48ID:jWoZ64tYM 実数ならMath.Pow使うけど整数ならx * xにするな
191デフォルトの名無しさん (ワッチョイ 2b7c-QSFP)
2020/04/01(水) 10:40:40.89ID:Z3CDkAvT0 double x = p1.X - p2.X, y = p1.Y - p2.Y;
var dist2 = x * x + y * y;
var dist2 = Pow(p1.X - p2.X, 2) + Pow(p1.Y - p2.Y, 2);
結論:べき乗演算子欲しい
var dist2 = x * x + y * y;
var dist2 = Pow(p1.X - p2.X, 2) + Pow(p1.Y - p2.Y, 2);
結論:べき乗演算子欲しい
192デフォルトの名無しさん (ワイーワ2 FF93-8H9x)
2020/04/01(水) 11:03:28.91ID:5VJq6KKKF var Dist2 = Func<double, double, double> (dx, dy)=> {return dx*dx+dy*dy;};
var dist2 = Dist2(p1.X - p2.X, p1.Y - p2.Y);
あほだな
var Dist2 = Func<Point, Point, double> (p1, p2)=> {return Pow(p1.X - p2.X, 2) + Pow(p1.Y - p2.Y, 2);};
var dist2 = Dist2(p1, p2);
いまいちだな
var dist2 = Dist2(p1.X - p2.X, p1.Y - p2.Y);
あほだな
var Dist2 = Func<Point, Point, double> (p1, p2)=> {return Pow(p1.X - p2.X, 2) + Pow(p1.Y - p2.Y, 2);};
var dist2 = Dist2(p1, p2);
いまいちだな
193デフォルトの名無しさん (ワッチョイ 4d61-reLO)
2020/04/01(水) 17:09:27.69ID:9jyTppa90 Point型にDistanceメソッドつけといてくれたらええのになあ
194デフォルトの名無しさん (ワッチョイ 8dda-fwpz)
2020/04/01(水) 17:11:21.84ID:0oGZrVNR0 点に距離なんて無いだろうに
195デフォルトの名無しさん (ワッチョイ 851d-6nIr)
2020/04/01(水) 18:49:00.02ID:60SS71wY0 YouTuberは「最強の職業」である理由。
https://www.youtube.com/watch?v=XjV3Nb0-hgA
【事例付き】YouTuberは最強の副業である件について。
https://www.youtube.com/watch?v=wB8hNuNVoIw&t=267s
【初心者向け】YouTubeの始め方・稼ぎ方を徹底解説!
https://www.youtube.com/watch?v=YEw-a8qlADM
「YouTubeなんていつか稼げなくなる」という主張を論破する。
https://www.youtube.com/watch?v=VatNILApW4U
収益化から丸1年!YouTubeでいくら稼いだか公開。
https://www.youtube.com/watch?v=-zQxuQqZ5eA&t=103s
その動画で月商○○万!? YouTubeで稼ぐ裏技的アプローチ。
https://www.youtube.com/watch?v=7I4APU_6i9o&t=433s
【貧者の工夫で戦え】ガラケーだっていい。YouTube始めるのにパソコンはいらない!
https://www.youtube.com/watch?v=jYdWfjjzD7Y
【第一回】SNS、YouTube、ブログで稼ぐ方法を、丁寧に解説します!
https://www.youtube.com/watch?v=erNiLOncDnY
https://www.youtube.com/watch?v=XjV3Nb0-hgA
【事例付き】YouTuberは最強の副業である件について。
https://www.youtube.com/watch?v=wB8hNuNVoIw&t=267s
【初心者向け】YouTubeの始め方・稼ぎ方を徹底解説!
https://www.youtube.com/watch?v=YEw-a8qlADM
「YouTubeなんていつか稼げなくなる」という主張を論破する。
https://www.youtube.com/watch?v=VatNILApW4U
収益化から丸1年!YouTubeでいくら稼いだか公開。
https://www.youtube.com/watch?v=-zQxuQqZ5eA&t=103s
その動画で月商○○万!? YouTubeで稼ぐ裏技的アプローチ。
https://www.youtube.com/watch?v=7I4APU_6i9o&t=433s
【貧者の工夫で戦え】ガラケーだっていい。YouTube始めるのにパソコンはいらない!
https://www.youtube.com/watch?v=jYdWfjjzD7Y
【第一回】SNS、YouTube、ブログで稼ぐ方法を、丁寧に解説します!
https://www.youtube.com/watch?v=erNiLOncDnY
196デフォルトの名無しさん (ワイーワ2 FF93-Wy2p)
2020/04/01(水) 18:53:16.96ID:86v82W0VF System.Drawing Point Distance なし
System.Windows Point Distance なし
Xamarin.Forms Point Distance あり!!!
System.Windows Point Distance なし
Xamarin.Forms Point Distance あり!!!
197デフォルトの名無しさん (アウアウウー Sae9-1s42)
2020/04/01(水) 19:50:46.55ID:ULM1+KSpa 描画面上の距離が必要になるケースってあんまりないような気はするね。
直交座標上の点を表すstructがあってそっちに付いてるなら分からんでもない。
.NETのライブラリって数学の名前空間がないんだよな。
MathってSystem直下のstaticクラスになってて、今となっては疑問を感じる設計だよね
直交座標上の点を表すstructがあってそっちに付いてるなら分からんでもない。
.NETのライブラリって数学の名前空間がないんだよな。
MathってSystem直下のstaticクラスになってて、今となっては疑問を感じる設計だよね
198デフォルトの名無しさん (ワッチョイ 6524-PBD1)
2020/04/01(水) 19:51:14.57ID:o39i6dw+0 DistanceよりsqrMagnitudeの方が多用する
199デフォルトの名無しさん (ワッチョイ 0d0c-bVUD)
2020/04/01(水) 20:15:30.50ID:2fyvFTga0 割と知名度の低いSystem.Numerics
200デフォルトの名無しさん (ワッチョイ 1bda-33J8)
2020/04/02(木) 06:04:40.26ID:OVS0fpTc0 System.Numericsってなんだと思ってググったら、存在知らずにだいぶ前にこれと似たようなの(しかも劣化コピー)自作したぞ。
今ひどい黒歴史が出来たわ・・・・・
今ひどい黒歴史が出来たわ・・・・・
201193 (ワッチョイ 2361-reLO)
2020/04/02(木) 06:58:15.83ID:JxZO1Jli0202デフォルトの名無しさん (ドコグロ MMe1-qghl)
2020/04/03(金) 09:37:19.19ID:cBUAwFsBM XamarinがMSに買収される前からあるんだろ?
零細企業のアホ社員がまともなコードレビューも受けないままリリースしちゃったんだろうな
零細企業のアホ社員がまともなコードレビューも受けないままリリースしちゃったんだろうな
203デフォルトの名無しさん (ワッチョイ 8dda-fwpz)
2020/04/03(金) 09:38:38.79ID:lfI6G99C0 人脈が無いと使えないって言ってるでしょうに
204デフォルトの名無しさん (エムゾネ FF43-8H9x)
2020/04/03(金) 14:53:19.91ID:VVxcL9MvF ちょまどさんがきっとなんとかしてくれる
205デフォルトの名無しさん (ワッチョイ 4d61-sbZV)
2020/04/03(金) 17:02:10.10ID:UoNKEVCn0 WinForms で、MDI の場合、子フォームのメニューは親フォームにマージされるようですが、この動作を変更して、マージせずに子フォームのメニューバーの位置に直接メニューを表示することは可能でしょうか?
可能な場合、どうすればできますか?
可能な場合、どうすればできますか?
206デフォルトの名無しさん (ワッチョイ 4b7b-Teqc)
2020/04/03(金) 17:11:49.46ID:blY/nayW0207デフォルトの名無しさん (ワッチョイ 0533-tDlu)
2020/04/03(金) 17:26:05.29ID:j3QBAl3N0208デフォルトの名無しさん (エムゾネ FF43-8H9x)
2020/04/03(金) 17:44:55.55ID:VVxcL9MvF >>205
SDI
SDI
209デフォルトの名無しさん (ワッチョイ 4d61-sbZV)
2020/04/03(金) 18:00:55.95ID:UoNKEVCn0210デフォルトの名無しさん (ワッチョイ 4d61-sbZV)
2020/04/03(金) 18:01:25.86ID:UoNKEVCn0 >>208
SDIではなく、複数の子ウィンドウを作りたいのです。
SDIではなく、複数の子ウィンドウを作りたいのです。
211デフォルトの名無しさん (ワッチョイ 8dda-fwpz)
2020/04/03(金) 18:17:58.72ID:lfI6G99C0 SetParentで養子に出してしまえ
212デフォルトの名無しさん (ワッチョイ 4d61-sbZV)
2020/04/03(金) 18:25:08.62ID:UoNKEVCn0213デフォルトの名無しさん (アウアウウー Sae9-1s42)
2020/04/03(金) 18:30:10.60ID:ytDWP9uSa214デフォルトの名無しさん (ワッチョイ 4d61-sbZV)
2020/04/03(金) 18:40:10.41ID:UoNKEVCn0 >>213
親Formの AllowMerge を falseにするということは、どんなMDIに対しても
影響が及ぼされてしまうんですね。
一部のMDI Chileだけは個別にメニュー付きで、他のMDI Childは、親のメニューにMerge、という具合には出来ないんですか。
親Formの AllowMerge を falseにするということは、どんなMDIに対しても
影響が及ぼされてしまうんですね。
一部のMDI Chileだけは個別にメニュー付きで、他のMDI Childは、親のメニューにMerge、という具合には出来ないんですか。
215デフォルトの名無しさん (エムゾネ FF43-8H9x)
2020/04/03(金) 18:46:29.17ID:VVxcL9MvF そこまでこだわるなら floating menu 造って子ウィンドウに載せろ
216デフォルトの名無しさん (アウアウウー Sae9-1s42)
2020/04/03(金) 18:51:31.33ID:ytDWP9uSa217デフォルトの名無しさん (ワッチョイ 4d61-sbZV)
2020/04/03(金) 19:07:26.69ID:UoNKEVCn0 >>211
MDI Child Frame(?)の子として中に別の Window を入れるのでしょうか?
MDI Child Frame(?)の子として中に別の Window を入れるのでしょうか?
218デフォルトの名無しさん (ワッチョイ ed2c-tb4t)
2020/04/04(土) 00:11:51.82ID:8ZllyE370 いくら初心者向けのスレッドっても少しは自分で試してみなよ
219デフォルトの名無しさん (ワッチョイ 9b4a-BgLy)
2020/04/04(土) 12:59:15.20ID:PIJg3gqB0 コードを変更しても反映されない
いきなり原因不明のエラーが出ると思ったら
Form1.Designer.csの中で勝手にプロパティ初期化してた
いきなり原因不明のエラーが出ると思ったら
Form1.Designer.csの中で勝手にプロパティ初期化してた
220デフォルトの名無しさん (ワッチョイ 4d61-sbZV)
2020/04/04(土) 17:22:20.79ID:9nDXuupl0 VS2019のメニューを見ていると、MFCと同様に、無効な項目は
グレイ表示されています。
MFCの場合は、Merge方式ではない代わりに、ActiveなChildWndが
ハンドラを実装していない場合には自動的にグレイ表示になっていたのですが、
WinFormsの場合は、どうやれば良いのでしょうか?
グレイ表示されています。
MFCの場合は、Merge方式ではない代わりに、ActiveなChildWndが
ハンドラを実装していない場合には自動的にグレイ表示になっていたのですが、
WinFormsの場合は、どうやれば良いのでしょうか?
221デフォルトの名無しさん (アウアウウー Sae9-1s42)
2020/04/04(土) 19:04:00.44ID:UFbKis4ca >>220
1年前にも似たような質問があった気が。
MFCは知らないのであれだけど、多分MFCに近いやり方は用意されてないかと。
結果的に同じようなUIをなるべく簡単に実現するには、1年前にも書いたけど
MDI子に共通のメニューを持つFormをまず作って、
個々のMDI子はそれを継承するのがいいんじゃないかなあと
1年前にも似たような質問があった気が。
MFCは知らないのであれだけど、多分MFCに近いやり方は用意されてないかと。
結果的に同じようなUIをなるべく簡単に実現するには、1年前にも書いたけど
MDI子に共通のメニューを持つFormをまず作って、
個々のMDI子はそれを継承するのがいいんじゃないかなあと
222デフォルトの名無しさん (ワッチョイ 2361-sbZV)
2020/04/04(土) 19:30:33.10ID:C11LX2Y60223デフォルトの名無しさん (アウアウウー Sae9-1s42)
2020/04/04(土) 19:59:31.83ID:UFbKis4ca そうそう。
継承後のフォームでもデザイナでコントロールのプロパティーの値を変更というか上書きできたはず
ついでに、MenuStripのVisible = falseにしておけば親にマージされている時以外メニューは表示されないみたい
継承後のフォームでもデザイナでコントロールのプロパティーの値を変更というか上書きできたはず
ついでに、MenuStripのVisible = falseにしておけば親にマージされている時以外メニューは表示されないみたい
224デフォルトの名無しさん (ワッチョイ e307-Gpp1)
2020/04/06(月) 03:12:51.01ID:O7BKGhOT0 ビル・ゲイツが私財でコロナのワクチン作る。
c# プログラマに一番最初にワクチンを供給してくれるとおもう。
安全性の確認できないワクチンや薬品をc#プログラマにぶち込めば開発効率が上がる。
人体実験を断ったら、msdn、マイクロソフトid を停止させるとかして、Windows 利用不可にすればいい。
c#コンピューターオタクは断ると当面お金を稼げなくなるから喜んで実験に参加してもらえるはず。
まと、コンピューターオタクには人権はないので、実験により貴重な人命が損なわれることもない。
c# プログラマに一番最初にワクチンを供給してくれるとおもう。
安全性の確認できないワクチンや薬品をc#プログラマにぶち込めば開発効率が上がる。
人体実験を断ったら、msdn、マイクロソフトid を停止させるとかして、Windows 利用不可にすればいい。
c#コンピューターオタクは断ると当面お金を稼げなくなるから喜んで実験に参加してもらえるはず。
まと、コンピューターオタクには人権はないので、実験により貴重な人命が損なわれることもない。
225デフォルトの名無しさん (ワッチョイ 1bda-CuPJ)
2020/04/06(月) 07:14:18.13ID:GDVBsc7B0 MSが作るワクチンなんてバグだらけになってそうでこわひ
226デフォルトの名無しさん (ワンミングク MMa3-bu/5)
2020/04/06(月) 08:02:15.03ID:m5eAFRE+M ワロタ
227デフォルトの名無しさん (ワッチョイ e501-fwpz)
2020/04/06(月) 09:39:40.09ID:78vqHF1U0 弱毒化ミスりました。てへ
228デフォルトの名無しさん (ワッチョイ 2310-CuPJ)
2020/04/06(月) 09:46:00.73ID:xLTmiL/Q0 そんなミスされたらゲイツの顔がブルースクリーンになっちゃう
229デフォルトの名無しさん (アウウィフ FFe9-8H9x)
2020/04/06(月) 10:17:13.45ID:TxMJ3ToxF >>224
先生そういう宗教的な分野はMacとかSwiftとかの方が適していると思います
先生そういう宗教的な分野はMacとかSwiftとかの方が適していると思います
230デフォルトの名無しさん (ワッチョイ e307-Gpp1)
2020/04/06(月) 11:37:10.89ID:O7BKGhOT0 >>225
c# プログラマにベータ版ワクチンをインストールしてもらいデバッグするんですよ。
バグのないワクチンとソフトウェアはありません。
Macユーザーは完成後のワクチンは提供対象外。
だから、MacBook とかに Windows をインストールしてる人は、デバッグと実験の対象になりますが、完成したワクチンの提供は対象外となります。
c# プログラマにベータ版ワクチンをインストールしてもらいデバッグするんですよ。
バグのないワクチンとソフトウェアはありません。
Macユーザーは完成後のワクチンは提供対象外。
だから、MacBook とかに Windows をインストールしてる人は、デバッグと実験の対象になりますが、完成したワクチンの提供は対象外となります。
231デフォルトの名無しさん (ワッチョイ b501-bVUD)
2020/04/07(火) 17:59:28.45ID:Fz3MtvZy0 visualstudioで
フォームアプリに追加したクラスライブラリにclass1.csとclass2,csがあるんですけど
class2の方にコントロールを継承してもツールボックスに表示されないのはなぜでしょうか
class1だと表示されました
フォームアプリに追加したクラスライブラリにclass1.csとclass2,csがあるんですけど
class2の方にコントロールを継承してもツールボックスに表示されないのはなぜでしょうか
class1だと表示されました
232デフォルトの名無しさん (ワッチョイ 55b0-CuPJ)
2020/04/07(火) 18:09:18.22ID:haJ3Gg0r0 GoogleドライブにファイルをアップをしたくてGoogleの下のサンプルを
参考に動かしてみたのですが、全くアップできず何が悪いのかさっぱりです・・・
https://developers.google.com/drive/api/v3/quickstart/dotnet
https://developers.google.com/drive/api/v3/manage-uploads
以下がコードです。
https://dotnetfiddle.net/4z2iZ4
ファイルのリストは、取得できているので認証はできていると思うのですが
「var file = request.ResponseBody」の行で、fileがnullとなっており
次の行でエラーが発生しています。
どなかたお助けください。よろしくお願いいたします。
参考に動かしてみたのですが、全くアップできず何が悪いのかさっぱりです・・・
https://developers.google.com/drive/api/v3/quickstart/dotnet
https://developers.google.com/drive/api/v3/manage-uploads
以下がコードです。
https://dotnetfiddle.net/4z2iZ4
ファイルのリストは、取得できているので認証はできていると思うのですが
「var file = request.ResponseBody」の行で、fileがnullとなっており
次の行でエラーが発生しています。
どなかたお助けください。よろしくお願いいたします。
233デフォルトの名無しさん (ワッチョイ 4b7b-Teqc)
2020/04/07(火) 18:10:40.64ID:Zxvg5mpZ0 >>231
追加部分をビルドしてもツールボックスに表示されないのなら該当するVSのスレで聞いてくれ
追加部分をビルドしてもツールボックスに表示されないのなら該当するVSのスレで聞いてくれ
234デフォルトの名無しさん (ワッチョイ b501-bVUD)
2020/04/07(火) 18:23:44.41ID:Fz3MtvZy0 >>233
VSスレ行ってきます
VSスレ行ってきます
235デフォルトの名無しさん (アウウィフ FFe9-8H9x)
2020/04/07(火) 18:42:39.03ID:G5F9VLMpF >>232
var driveService = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "MyApplicationName",
});
使ってない?
var driveService = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "MyApplicationName",
});
使ってない?
236デフォルトの名無しさん (アウウィフ FFe9-8H9x)
2020/04/07(火) 18:55:57.94ID:G5F9VLMpF あとは
var fileMetadata = new Google.Apis.Drive.v3.Data.File(){
Name="test.png",MimeType="image/png",};
にしてみるとか
他にはstreamがbinaryになってるかどうかとか
https://gist.github.com/LindaLawton/ead22e44bf88c3afa60753de0445eddf
この人もnullって言ってるな
var fileMetadata = new Google.Apis.Drive.v3.Data.File(){
Name="test.png",MimeType="image/png",};
にしてみるとか
他にはstreamがbinaryになってるかどうかとか
https://gist.github.com/LindaLawton/ead22e44bf88c3afa60753de0445eddf
この人もnullって言ってるな
237デフォルトの名無しさん (アウウィフ FFe9-8H9x)
2020/04/07(火) 18:58:19.21ID:G5F9VLMpF238デフォルトの名無しさん (アウウィフ FFe9-8H9x)
2020/04/07(火) 19:00:30.98ID:G5F9VLMpF っていうか
DriveService.Scope.DriveReadonly
じゃだめな気がする
DriveService.Scope.DriveReadonly
じゃだめな気がする
239デフォルトの名無しさん (ワッチョイ 55b0-CuPJ)
2020/04/07(火) 19:02:03.78ID:haJ3Gg0r0240デフォルトの名無しさん (ワッチョイ 55b0-CuPJ)
2020/04/07(火) 19:42:25.67ID:haJ3Gg0r0241デフォルトの名無しさん (ワッチョイ df01-aZ/i)
2020/04/08(水) 18:42:37.41ID:4ZoNAvx+0 バルクコピーはdatatableだけに対応なのでしょうか?
ググってもジェネリックで使う記事が見当たらないので無理なのかなという気がしていますが
ググってもジェネリックで使う記事が見当たらないので無理なのかなという気がしていますが
242デフォルトの名無しさん (ワッチョイ 622c-N9MB)
2020/04/08(水) 21:01:32.25ID:SnWF1IxV0 SqlBulkCopyの話ならWriteToServerのオーバーロード見る限り
IDataReader頑張って実装すれば何とかなりそう
IDataReader頑張って実装すれば何とかなりそう
243デフォルトの名無しさん (ワッチョイ 06e3-AglQ)
2020/04/08(水) 22:55:22.95ID:t+YdRhnM0 ググればToDataReaderの拡張メソッドヒットするからそれ参考に実装すればいいんじゃね
俺社環でライブラリの拡張メソッド禁止されているから、IDataReaderで作ったけど
俺社環でライブラリの拡張メソッド禁止されているから、IDataReaderで作ったけど
244デフォルトの名無しさん (ワッチョイ df01-aZ/i)
2020/04/09(木) 07:09:54.80ID:9rfBAHbp0 >>243
知らない知識なので参考にさせて頂きます
しかしバルクコピーのメソッドがdatatableという古い技術で実装させる時点で、そもそもバルクコピー自体が古い技術で別の最新技術があるのかなと疑っております
色々な角度で調べてみるつもりです
知らない知識なので参考にさせて頂きます
しかしバルクコピーのメソッドがdatatableという古い技術で実装させる時点で、そもそもバルクコピー自体が古い技術で別の最新技術があるのかなと疑っております
色々な角度で調べてみるつもりです
245デフォルトの名無しさん (オッペケ Sr5f-q7V1)
2020/04/09(木) 07:57:03.98ID:WaI3ZH+Vr datatableってもう古いの?
246デフォルトの名無しさん (ワッチョイ 431d-slfm)
2020/04/09(木) 08:44:51.87ID:lA8JDzIo0 win10において
・ネットワークとインターネット設定→プロキシのセットアップスクリプトを使う設定のON/OFF切り替え
・ネットワーク接続のインターネットプロトコルバージョン4のプロパティの
IPアドレスを自動的に取得すると、次のIPアドレスを使うの切り替えと入力
DNSサーバー・・・と次のDNSサーバーのアドレスを使うの切り替えと入力
これをC#アプリで実現できますか?どのようなクラスを使えばいいでしょうか?
・ネットワークとインターネット設定→プロキシのセットアップスクリプトを使う設定のON/OFF切り替え
・ネットワーク接続のインターネットプロトコルバージョン4のプロパティの
IPアドレスを自動的に取得すると、次のIPアドレスを使うの切り替えと入力
DNSサーバー・・・と次のDNSサーバーのアドレスを使うの切り替えと入力
これをC#アプリで実現できますか?どのようなクラスを使えばいいでしょうか?
247デフォルトの名無しさん (ワッチョイ 2349-q7V1)
2020/04/09(木) 09:25:00.65ID:x5VgstST0 レジストリいじれば設定変更できるやつだろ
ようはwin32だろ、それくらいまでは調べたよな?
ようはwin32だろ、それくらいまでは調べたよな?
248デフォルトの名無しさん (ワッチョイ 622c-N9MB)
2020/04/09(木) 10:21:54.03ID:uYq8FGtT0 IPアドレスの変更の類はnetshコマンドをProcessクラスで使うのが一番手っ取り早いと思う
249デフォルトの名無しさん (ワッチョイ 2349-q7V1)
2020/04/09(木) 11:12:18.01ID:x5VgstST0 ローカルじゃなければProcess使うかなあ
250デフォルトの名無しさん (ワッチョイ 2733-0eSS)
2020/04/09(木) 11:17:42.26ID:MvrijcPz0 目的にもよるんだろうけど、PowerShellでスクリプト書く方が早そうな予感
完全にスレチになるけど
完全にスレチになるけど
251デフォルトの名無しさん (ワッチョイ cb02-AglQ)
2020/04/09(木) 11:21:39.40ID:wyC9Ec3D0 内部でPowerShellスクリプトを走らせるC#プログラムを作る
252デフォルトの名無しさん (ワイーワ2 FFfa-zfCe)
2020/04/09(木) 12:41:32.88ID:kpg/tOgGF >>248
ほんそれ +1
ほんそれ +1
253デフォルトの名無しさん (ワッチョイ 6ff1-Xgk8)
2020/04/09(木) 12:48:40.23ID:XKMcLRnY0 x ほんそれ
o ほんとそれ
正しい日本語で
o ほんとそれ
正しい日本語で
254デフォルトの名無しさん (ワッチョイ cb02-AglQ)
2020/04/09(木) 14:07:27.20ID:wyC9Ec3D0 日本語を母国語としない人ほど
正しくない日本語で困るのです
正しくない日本語で困るのです
255デフォルトの名無しさん (ワッチョイ d701-jz5X)
2020/04/09(木) 21:32:00.67ID:ezz+hw670 ハンソロ
256デフォルトの名無しさん (ワッチョイ df01-aZ/i)
2020/04/10(金) 07:07:24.38ID:xmb7c5Fr0 >>245
新規開発でdatatable使ってたらうわってなる
新規開発でdatatable使ってたらうわってなる
257デフォルトの名無しさん (ワンミングク MM92-pOGN)
2020/04/10(金) 08:53:16.36ID:9rsnwyfyM >>256
今は何ですか?
今は何ですか?
258デフォルトの名無しさん (ワッチョイ 9b61-AglQ)
2020/04/10(金) 08:53:52.31ID:GJl9p4h50 型付きDataSet
259デフォルトの名無しさん (ワントンキン MM92-f3vT)
2020/04/10(金) 09:00:25.56ID:3BYzeKcKM >>245
もうEFかDapperでええやろ
もうEFかDapperでええやろ
260245 (オッペケ Sr5f-q7V1)
2020/04/10(金) 09:43:04.90ID:Rte1PrgOr あーそういや気付けばdapperばっか使ってたわ
あいえにゅめにゃんにゃんが便利やしなあ
あいえにゅめにゃんにゃんが便利やしなあ
261デフォルトの名無しさん (ワッチョイ 622c-N9MB)
2020/04/10(金) 10:18:31.70ID:XzeHNtat0 DBとは無関係に
動的列、フィルタ&ソートしたまま行追加、みたいなのが必要な時はDataTable使ってる
動的列、フィルタ&ソートしたまま行追加、みたいなのが必要な時はDataTable使ってる
262デフォルトの名無しさん (ワイーワ2 FFfa-zfCe)
2020/04/10(金) 11:00:45.18ID:nz1tlAhXF DataTableでうわぁっってなるひとはJSONでくぇぇっってならんのまじで?
263245 (ワッチョイ 2349-q7V1)
2020/04/10(金) 11:58:55.10ID:dIu9zrlt0 jitとか使ってそう
264デフォルトの名無しさん (ワッチョイ ebb2-zja/)
2020/04/10(金) 12:04:16.89ID:sXssV4F30 DataTableは2次元
JSONは3次元
JSONは3次元
265デフォルトの名無しさん (ワッチョイ 4e2f-5WFu)
2020/04/10(金) 13:26:59.74ID:saZPvfHU0 EFもDapperも変更追跡がなぁ
266デフォルトの名無しさん (ワッチョイ 62ad-0DgC)
2020/04/10(金) 13:54:32.33ID:/e8vDB+E0 >>265
Dapperにそんなもんあったっけ?
Dapperにそんなもんあったっけ?
267デフォルトの名無しさん (ワッチョイ 4e2f-5WFu)
2020/04/10(金) 14:10:46.01ID:saZPvfHU0268デフォルトの名無しさん (ワッチョイ 62ad-0DgC)
2020/04/10(金) 14:29:32.62ID:/e8vDB+E0 EFにはあるやろ
269デフォルトの名無しさん (ワッチョイ 6777-AglQ)
2020/04/10(金) 15:28:01.76ID:SuSUfgJ80 Chartコントロールで横のスクロールバーを表示させる方法を教えてください。
サンプルプログラムは↓のをほぼそのまま使いました。( i < 5のところを i < 500に変えて数だけ増やしています)
チャートは普通に表示されるのですが、いろいろ探してもスクロールバーの出し方が全然わかりません。
https://qiita.com/Aki_mintproject/items/02e98173eb8eee74fc5b
サンプルプログラムは↓のをほぼそのまま使いました。( i < 5のところを i < 500に変えて数だけ増やしています)
チャートは普通に表示されるのですが、いろいろ探してもスクロールバーの出し方が全然わかりません。
https://qiita.com/Aki_mintproject/items/02e98173eb8eee74fc5b
270デフォルトの名無しさん (ワイーワ2 FFfa-zfCe)
2020/04/10(金) 16:05:22.34ID:eaxyjA8iF271デフォルトの名無しさん (ワイーワ2 FFfa-zfCe)
2020/04/10(金) 16:06:49.77ID:eaxyjA8iF272デフォルトの名無しさん (ワッチョイ 4e2f-5WFu)
2020/04/10(金) 19:04:23.80ID:saZPvfHU0273デフォルトの名無しさん (ワッチョイ 2b2c-m8t6)
2020/04/10(金) 21:43:50.98ID:Q8afigXi0 DatasetやTableのoriginalが取れたりrejectでロールパック出来たりするのは確かに便利
274デフォルトの名無しさん (ワッチョイ d701-jz5X)
2020/04/10(金) 22:14:18.97ID:phkDJesv0 トランザクションログ
275デフォルトの名無しさん (ワッチョイ 8eda-JB1h)
2020/04/11(土) 02:58:17.93ID:EYr99YyX0 よぉ〜しよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよし
276デフォルトの名無しさん (ワッチョイ 6777-AglQ)
2020/04/11(土) 13:19:24.89ID:n/kHMKTa0 >>270
ありがとうございます。解決しました
ありがとうございます。解決しました
277デフォルトの名無しさん (ワッチョイ c62d-kdbN)
2020/04/12(日) 16:27:59.95ID:WBJoN6ah0 if(条件A && !条件B){}
みたいなことをしたいのですが、&&と!をまとめてきれいに書く方法はありますか?
みたいなことをしたいのですが、&&と!をまとめてきれいに書く方法はありますか?
278デフォルトの名無しさん (ワッチョイ 0b17-AglQ)
2020/04/12(日) 16:48:42.14ID:insvI+xF0 var 条件C = 条件A && !条件B;
if(条件C){}
if(条件C){}
279デフォルトの名無しさん (ワッチョイ 47ac-q7V1)
2020/04/12(日) 18:02:02.30ID:Vvo4XdlE0 クラスや関数にする
設計を見直す
あーりーりたーんを心がける
設計を見直す
あーりーりたーんを心がける
280デフォルトの名無しさん (ワッチョイ 067b-Ryj7)
2020/04/12(日) 18:08:22.86ID:sgzIx9p/0281デフォルトの名無しさん (ワッチョイ 67a7-Oz6P)
2020/04/12(日) 18:11:50.67ID:7/OoXgJO0 >>277
関数にする
関数にする
282デフォルトの名無しさん (ワッチョイ a201-vZv9)
2020/04/12(日) 19:13:16.89ID:tx1YNXXn0 if (foo.IsEnabled && !bar.IsEnabled) を
if (foo.IsEnabled && bar.IsDisabled) にすることはある
単語の頭につけるエクスクラメーションマークは
見落としやすいから可読性がやや低い
>>278のパターンで変数にすることはあんまりないけど関数化するのもよくやる
if (foo.IsEnabled && bar.IsDisabled) にすることはある
単語の頭につけるエクスクラメーションマークは
見落としやすいから可読性がやや低い
>>278のパターンで変数にすることはあんまりないけど関数化するのもよくやる
283デフォルトの名無しさん (アウアウウー Sabb-b+QY)
2020/04/12(日) 19:22:29.59ID:xeq/pDNWa284デフォルトの名無しさん (ワッチョイ c62d-kdbN)
2020/04/12(日) 19:43:51.07ID:WBJoN6ah0 一発で書けるのかなと、すごく疑問に思ってたよ
ありがとう!
ありがとう!
285デフォルトの名無しさん (アウアウウー Sabb-KL7n)
2020/04/12(日) 21:05:32.57ID:0dL6T2+Wa 一発で書けた
if (b ? false : a) {...}
一発で書けた
if (!(!a || b)) {...}
一発で書けた
Func<bool, bool, bool> ippatu = (x, y) => x && !y;
if (ippatu(a, b)) {...}
if (b ? false : a) {...}
一発で書けた
if (!(!a || b)) {...}
一発で書けた
Func<bool, bool, bool> ippatu = (x, y) => x && !y;
if (ippatu(a, b)) {...}
286デフォルトの名無しさん (ワッチョイ cb02-AglQ)
2020/04/12(日) 21:27:27.71ID:JCmsoVoe0 XORでいいんだったら^一個で済むけど違うよな
287デフォルトの名無しさん (ワッチョイ 622c-N9MB)
2020/04/12(日) 21:57:13.58ID:NV9JxSja0 Not演算子が見辛いから関数に置き換える
ぐらいでいい気はする
ぐらいでいい気はする
288デフォルトの名無しさん (アウアウウー Sabb-b+QY)
2020/04/12(日) 23:13:55.75ID:PHqFJcwka >>285
1つ目は短絡評価の場合の動作が異なるから等価な式になってないし、2つ目の式は元の式より見辛くなって無意味だろう
1つ目は短絡評価の場合の動作が異なるから等価な式になってないし、2つ目の式は元の式より見辛くなって無意味だろう
289デフォルトの名無しさん (ワッチョイ cb5f-zfCe)
2020/04/13(月) 10:34:31.41ID:xWnIwwwl0 >>286
カルノー図描いて観ろ
カルノー図描いて観ろ
290デフォルトの名無しさん (ワッチョイ bbda-P/Zs)
2020/04/13(月) 11:05:23.07ID:DkcwYYbx0291デフォルトの名無しさん (ワッチョイ 47ac-q7V1)
2020/04/13(月) 14:35:31.90ID:6KK4qS560 てかそんな条件がパット見でわからんくなるなら、根本的にそこにいたる道筋がおかしいと思うよ
292デフォルトの名無しさん (ワッチョイ 6207-O/Sq)
2020/04/13(月) 17:03:53.08ID:wlUJ1QGb0 SSH.net使った事ある人います?
フォワードポイント設定後、Startしてプログラムは通ってるんですけど、なぜかポートが開かないので困ってます
RloginというフリーのSShソフト使うと同じポートが開くので、SSH.net側かVS側が原因と考えてます
ネットの先人たちの知恵を拝見して同じようにしてるんですけど、なぜか上手くいきません
開発環境
VS2017
Nugetより最新のSSH.netを入れてます
netstatコマンドでポートの確認したら、192.168.〜の所が開かず、[::]の所が開いてるようです
これはなんなんでしょう?
フォワードポイント設定後、Startしてプログラムは通ってるんですけど、なぜかポートが開かないので困ってます
RloginというフリーのSShソフト使うと同じポートが開くので、SSH.net側かVS側が原因と考えてます
ネットの先人たちの知恵を拝見して同じようにしてるんですけど、なぜか上手くいきません
開発環境
VS2017
Nugetより最新のSSH.netを入れてます
netstatコマンドでポートの確認したら、192.168.〜の所が開かず、[::]の所が開いてるようです
これはなんなんでしょう?
293デフォルトの名無しさん (ワッチョイ 17ad-qv0W)
2020/04/13(月) 17:14:22.22ID:Szw9E2890294デフォルトの名無しさん (ワッチョイ ebb2-zja/)
2020/04/13(月) 17:18:05.18ID:ujcK/XL20 ポートフォアード開始してる?ステップインで状態とエラーメッセージ追えば理由なんとなくわかるんじゃね?
295デフォルトの名無しさん (ワッチョイ 6207-O/Sq)
2020/04/13(月) 17:41:05.66ID:wlUJ1QGb0296デフォルトの名無しさん (ワッチョイ 36eb-AglQ)
2020/04/13(月) 19:23:38.52ID:o+L/gyE50 拡張メソッドがあるのに、拡張プロパティなどが無いのは何故でしょう?
多くの日本語解説サイトで DirectoryInfoではなくDirectoryを、EnumerateFilesでなくGetFilesを使ってるのは何故でしょう?
(対応していないバージョンのC#を利用する人も、その方が高速・妥当なコードも稀だと思うのですが…)
多くの日本語解説サイトで DirectoryInfoではなくDirectoryを、EnumerateFilesでなくGetFilesを使ってるのは何故でしょう?
(対応していないバージョンのC#を利用する人も、その方が高速・妥当なコードも稀だと思うのですが…)
297デフォルトの名無しさん (ワッチョイ 9f43-AglQ)
2020/04/13(月) 19:55:51.75ID:i5ardRu40 >>296
> 拡張メソッドがあるのに、拡張プロパティなどが無いのは何故でしょう?
Why No Extension Properties?
https://blogs.msdn.microsoft.com/ericlippert/2009/10/05/why-no-extension-properties/
> 多くの日本語解説サイトで
解説を書いてるヤツらに聞け
> 拡張メソッドがあるのに、拡張プロパティなどが無いのは何故でしょう?
Why No Extension Properties?
https://blogs.msdn.microsoft.com/ericlippert/2009/10/05/why-no-extension-properties/
> 多くの日本語解説サイトで
解説を書いてるヤツらに聞け
298デフォルトの名無しさん (ワッチョイ 622c-N9MB)
2020/04/13(月) 20:03:19.03ID:Bv/vlgUb0 拡張プロパティの類はC#10かもうちょい先ぐらいで追加されそう
https://ufcpp.net/blog/2018/7/pickuproslyn0714/
https://ufcpp.net/blog/2018/7/pickuproslyn0714/
299デフォルトの名無しさん (ドコグロ MM7a-juGi)
2020/04/13(月) 20:08:08.68ID:Wzp4v7WxM300デフォルトの名無しさん (ワッチョイ 36eb-AglQ)
2020/04/13(月) 20:26:56.25ID:o+L/gyE50301デフォルトの名無しさん (ワッチョイ 0b17-AglQ)
2020/04/13(月) 20:49:56.31ID:4T6PL/Gc0 >>298
リフレクション使うとどんな挙動になるんだろ
リフレクション使うとどんな挙動になるんだろ
302デフォルトの名無しさん (ワッチョイ 622c-N9MB)
2020/04/13(月) 21:10:08.00ID:Bv/vlgUb0303デフォルトの名無しさん (アウアウウー Sabb-juGi)
2020/04/13(月) 21:18:16.05ID:VqvNVGMOa >>302
そういう失敗例ならScalaでも見てみたら
そういう失敗例ならScalaでも見てみたら
304デフォルトの名無しさん (ワッチョイ 6233-AglQ)
2020/04/13(月) 23:30:22.44ID:IBaPMQxT0 Taskとasync/awaitの使い方について質問です
await Task.Delay(100);
と
task.Wait();
を組み合わせるとデッドロックすると色々なページで書かれていますが
試したらデッドロックしませんでした
https://ideone.com/d6BWCC
ConfigureAwaitもよく分かっていません(コンテキストとかマーシャリングとかも・・・)
https://docs.microsoft.com/ja-jp/dotnet/api/system.threading.tasks.task.configureawait?view=netframework-4.8
なぜデッドロックしなかったのか教えてください
await Task.Delay(100);
と
task.Wait();
を組み合わせるとデッドロックすると色々なページで書かれていますが
試したらデッドロックしませんでした
https://ideone.com/d6BWCC
ConfigureAwaitもよく分かっていません(コンテキストとかマーシャリングとかも・・・)
https://docs.microsoft.com/ja-jp/dotnet/api/system.threading.tasks.task.configureawait?view=netframework-4.8
なぜデッドロックしなかったのか教えてください
305デフォルトの名無しさん (ワッチョイ f7c3-RPGu)
2020/04/13(月) 23:33:06.25ID:LODcFAHq0 >>304
guiでWaitメソッドを使ってみて
guiでWaitメソッドを使ってみて
306304 (ワッチョイ 6233-AglQ)
2020/04/14(火) 00:04:17.51ID:wwnZT3mo0 WPFで適当なボタン作ってクリックイベント内で同じようなことをしたらフリーズしました
GUIじゃなければ起きない、とかでしょうか
CUIだとフリーズせず実行できてしまいます
GUIじゃなければ起きない、とかでしょうか
CUIだとフリーズせず実行できてしまいます
307デフォルトの名無しさん (ワッチョイ 8eda-KRXG)
2020/04/14(火) 02:23:36.56ID:hp+6QaJX0 ・UIスレッドは1つしかない
・GUIアプリの場合、await後は生成元のスレッドに戻ろうとする
・ところがUIスレッドはawaitしている
・お互い待ち合うことでデッドロック発生
CUIの場合はawait後に元のスレッドに戻らないのでデッドロックしない。
GUIでもAsync1、Async2のメソッド内で
await Task.Delay(100).ConfigureAwait(false);
とすればデッドロックしないが、Async1やAsync2でDelay後にUI部品触ると(ボタンのキャプション変えるとか)落ちる
・GUIアプリの場合、await後は生成元のスレッドに戻ろうとする
・ところがUIスレッドはawaitしている
・お互い待ち合うことでデッドロック発生
CUIの場合はawait後に元のスレッドに戻らないのでデッドロックしない。
GUIでもAsync1、Async2のメソッド内で
await Task.Delay(100).ConfigureAwait(false);
とすればデッドロックしないが、Async1やAsync2でDelay後にUI部品触ると(ボタンのキャプション変えるとか)落ちる
308304 (ワッチョイ 6233-AglQ)
2020/04/14(火) 09:01:56.56ID:wwnZT3mo0 なんとなくわかった気がしました
SynchronizationContext.Currentで取得できる同期コンテキストでawaitの動作が変わってるみたいで
CUIはもともとnull、WPFは
await Task.Delay(100).ConfigureAwait(false);
のあとはnullになるようです
一度nullにしてしまえば
await Task.Delay(100);
Async().Wait();
とやってもフリーズしませんでした
というかCUIと同じようにawait毎にスレッドがコロコロ変わるようになります
逆にCUIでも同期コンテキストを設定してしまえばデッドロックも起こせるみたいです
SynchronizationContext.SetSynchronizationContext(new WindowsFormsSynchronizationContext());
とやったらCUIでもフリーズしました
普通のnew SynchronizationContext()ではフリーズしないので、知らない仕掛けがありそうですが
同期コンテキストの作られ方によってawaitの動作が変わるから
デッドロックが起きたり起きなかったりする、という感じがしました
SynchronizationContext.Currentで取得できる同期コンテキストでawaitの動作が変わってるみたいで
CUIはもともとnull、WPFは
await Task.Delay(100).ConfigureAwait(false);
のあとはnullになるようです
一度nullにしてしまえば
await Task.Delay(100);
Async().Wait();
とやってもフリーズしませんでした
というかCUIと同じようにawait毎にスレッドがコロコロ変わるようになります
逆にCUIでも同期コンテキストを設定してしまえばデッドロックも起こせるみたいです
SynchronizationContext.SetSynchronizationContext(new WindowsFormsSynchronizationContext());
とやったらCUIでもフリーズしました
普通のnew SynchronizationContext()ではフリーズしないので、知らない仕掛けがありそうですが
同期コンテキストの作られ方によってawaitの動作が変わるから
デッドロックが起きたり起きなかったりする、という感じがしました
309デフォルトの名無しさん (ワッチョイ 7b0c-AglQ)
2020/04/14(火) 11:04:24.75ID:27IsOs6K0 WinformsやWPFは各々フレームワークのコンポーネントの初回呼び出しで
それぞれ専用の同期コンテキストを自動で現在のスレッドに設定して
await 式から自動生成されたコードで現在の同期コンテキストのSendやPostを呼び出してるって割と単純な話だわよ
それぞれ専用の同期コンテキストを自動で現在のスレッドに設定して
await 式から自動生成されたコードで現在の同期コンテキストのSendやPostを呼び出してるって割と単純な話だわよ
310デフォルトの名無しさん (ワッチョイ 7b59-vo9w)
2020/04/14(火) 21:47:37.07ID:kOEIvzYK0 質問失礼致します。
ttps://xr-hub.com/archives/20326
の2番目のサンプルコード「Person.cs」に
public Person(string name, Job job)
という行があるのですが、これは関数ですか?
publicの後の型やvoidを省略した時、どういう扱いになっているのでしょうか?
(暗黙的にvoidなど)
初歩的すぎる質問ですが知恵をお借し頂ければと思います。
よろしくお願い致します。
ttps://xr-hub.com/archives/20326
の2番目のサンプルコード「Person.cs」に
public Person(string name, Job job)
という行があるのですが、これは関数ですか?
publicの後の型やvoidを省略した時、どういう扱いになっているのでしょうか?
(暗黙的にvoidなど)
初歩的すぎる質問ですが知恵をお借し頂ければと思います。
よろしくお願い致します。
311デフォルトの名無しさん (ワッチョイ 6763-Ib7D)
2020/04/14(火) 21:49:20.96ID:LYeRKBcY0 >>310
コンストラクタで検索してみよう
コンストラクタで検索してみよう
312デフォルトの名無しさん (ワッチョイ d701-P/Zs)
2020/04/14(火) 21:52:06.64ID:LIgN/yKN0313デフォルトの名無しさん (ワッチョイ 7b59-vo9w)
2020/04/14(火) 22:02:45.41ID:kOEIvzYK0314デフォルトの名無しさん (ワッチョイ a201-vZv9)
2020/04/14(火) 22:48:21.91ID:GtUt/+gx0 コンストラクタが関数じゃないだとっ?
315デフォルトの名無しさん (ワッチョイ 62ad-0DgC)
2020/04/14(火) 23:10:59.52ID:e1S+5JbE0 >>312
え?
え?
316デフォルトの名無しさん (ワッチョイ ebb2-zja/)
2020/04/14(火) 23:32:09.30ID:a7j1JMim0 >>313
コンストラクタ知らないとか煽り抜きで基礎からやり直せ。この先すぐに行き止まりやぞ
コンストラクタ知らないとか煽り抜きで基礎からやり直せ。この先すぐに行き止まりやぞ
317デフォルトの名無しさん (ワッチョイ 06f2-shd/)
2020/04/14(火) 23:38:54.68ID:aqCEjjHy0 ゆっくり進んでいけばいいさ
318デフォルトの名無しさん (ワッチョイ d7ac-DNPS)
2020/04/15(水) 00:53:54.59ID:fYr2Vm730 コンストラクタは言語によってちょこちょこ違いがあるからなあ
それによって作法も、チームとかのなかでの使い方も違うんだよな
それによって作法も、チームとかのなかでの使い方も違うんだよな
319デフォルトの名無しさん (ワッチョイ 7feb-Ho7r)
2020/04/15(水) 06:29:23.91ID:ElrUDxqt0 初心者で妥当な用語もよく分からないのですが、
Sytem.IO.File全体を Sytem.IO.FileInfoで上書きしたり
Sytem.IO.File全体を FileUtilsにリネームして利用ってできるでしょうか
多分歴史的経緯とかなんでしょうが、名前も機能も違和感ある・・・あるよね?
Sytem.IO.File全体を Sytem.IO.FileInfoで上書きしたり
Sytem.IO.File全体を FileUtilsにリネームして利用ってできるでしょうか
多分歴史的経緯とかなんでしょうが、名前も機能も違和感ある・・・あるよね?
320デフォルトの名無しさん (ワッチョイ 7feb-Ho7r)
2020/04/15(水) 06:30:19.71ID:ElrUDxqt0 正system
誤sytem
誤sytem
321デフォルトの名無しさん (ワッチョイ 5701-xSTm)
2020/04/15(水) 07:39:24.57ID:0X0pe0WE0322デフォルトの名無しさん (ブーイモ MMbb-XMn9)
2020/04/15(水) 07:54:03.68ID:HIqtt51zM マニュアル読むならこのスレには来ないよ
323今度はビルドとはとか言い出すんだろうか? (ドコグロ MMbf-A2g6)
2020/04/15(水) 07:59:57.33ID:WVx1tERFM 進歩しろってことだろ
>>322には一生無理っぽいが…
>>322には一生無理っぽいが…
324デフォルトの名無しさん (ワッチョイ 7feb-Ho7r)
2020/04/15(水) 08:16:40.55ID:ElrUDxqt0325デフォルトの名無しさん (ワッチョイ 9f63-jdMw)
2020/04/15(水) 11:11:56.53ID:O8tgepsJ0 >>319
名前も機能もべつに違和感ないけど
名前も機能もべつに違和感ないけど
326デフォルトの名無しさん (ワッチョイ d763-oiAQ)
2020/04/15(水) 11:38:37.86ID:hXBJaVw20327デフォルトの名無しさん (アウアウウー Sa1b-V/21)
2020/04/15(水) 12:23:21.76ID:4U/dMrxba >>319
あなたの違和感をなくすために他人に違和感を与えるコードを書いてはダメでしょうw
そういう尾崎豊的な「世の中間違ってる!」は義務教育で卒業しておけよw
インフラはみんなが慣れ親しんで知識を共有していることに意味があるんだよw
変なエイリアスを使うことはあなたの「俺流」を理解する手間を読む人に押し付けることになる。
それは1年後の自分自身かもしれないよw
あなたの違和感をなくすために他人に違和感を与えるコードを書いてはダメでしょうw
そういう尾崎豊的な「世の中間違ってる!」は義務教育で卒業しておけよw
インフラはみんなが慣れ親しんで知識を共有していることに意味があるんだよw
変なエイリアスを使うことはあなたの「俺流」を理解する手間を読む人に押し付けることになる。
それは1年後の自分自身かもしれないよw
328デフォルトの名無しさん (ワッチョイ d7ac-DNPS)
2020/04/15(水) 15:49:28.85ID:fYr2Vm730 自分だけのコードなら好きにすればとしか
チームで共有するならレビューしろとしか
チームで共有するならレビューしろとしか
329デフォルトの名無しさん (ワッチョイ 372c-+ZVK)
2020/04/15(水) 23:14:10.59ID:erSE2P+N0 添付プロパティがあるじゃない
330デフォルトの名無しさん (ワッチョイ 7feb-Ho7r)
2020/04/16(木) 00:47:09.81ID:97EKYXOu0 まさにそういう話で、(大多数が慣れ親しんだ知識である)自然言語で full path of a file だから
(FileInfo) hoge.FullName より
(File) file.FullPath の方が読みやすく、知識なく利用しやすくない? と思ったんだ
自分が知らないだけでFileInfoやFullNameの方が妥当な理由あるのかな
(FileInfo) hoge.FullName より
(File) file.FullPath の方が読みやすく、知識なく利用しやすくない? と思ったんだ
自分が知らないだけでFileInfoやFullNameの方が妥当な理由あるのかな
331デフォルトの名無しさん (アウアウウー Sa1b-7wDT)
2020/04/16(木) 00:49:55.71ID:PmElPVF7a 質問です。
visual studio2013 のWEBフォーム(.aspx)を使用しています。
以下のようなフォームを作りたいです。 どうやってつくったらよいでしょうか?
▼コンビニ ←選択すると▼マークになり、折り畳みのチェックボックスリストが出る
■セブンイレブン ←選択するとレ点でなく、□を塗りつぶす
□ローソン
■ファミリーマート
△ショッピングモール ←選択しないときは△マークでリストは折りたたまれている
△スーパー
よろしくお願いいたします。
visual studio2013 のWEBフォーム(.aspx)を使用しています。
以下のようなフォームを作りたいです。 どうやってつくったらよいでしょうか?
▼コンビニ ←選択すると▼マークになり、折り畳みのチェックボックスリストが出る
■セブンイレブン ←選択するとレ点でなく、□を塗りつぶす
□ローソン
■ファミリーマート
△ショッピングモール ←選択しないときは△マークでリストは折りたたまれている
△スーパー
よろしくお願いいたします。
332デフォルトの名無しさん (ワッチョイ d7ac-DNPS)
2020/04/16(木) 00:52:31.21ID:5emHbHZx0 チーム内でそれを浸透させる実力があるならいいんじゃね
俺はデフォルト推奨派なので、それだけの理由なら無意味な改変に見えるので
、それは賛成しないがな
「俺が見易い」は「皆が見易い」ではない
俺はデフォルト推奨派なので、それだけの理由なら無意味な改変に見えるので
、それは賛成しないがな
「俺が見易い」は「皆が見易い」ではない
333デフォルトの名無しさん (ワッチョイ 5701-xSTm)
2020/04/16(木) 00:52:46.91ID:tiZKLZWE0 ベースはアコーディオンかな?
334デフォルトの名無しさん (ワッチョイ 5701-xSTm)
2020/04/16(木) 00:56:55.23ID:tiZKLZWE0 CreateFontがMFCではCreateFontIndirect
でオーヴァーライドされている事を
知った時の驚き。😵
世の中広いからそういう常識の所も
あるのでしょう❤
でオーヴァーライドされている事を
知った時の驚き。😵
世の中広いからそういう常識の所も
あるのでしょう❤
335デフォルトの名無しさん (ワッチョイ d763-oiAQ)
2020/04/16(木) 01:31:46.69ID:kjXrQDZb0 windowsならpathってだけで他システムでもpathかどうか?
組み込み系OSだったらディレクトリ構造持ってないようなやつあったりしないかね?全然しらんけど
つうかその程度なら332と同じく公式に準拠する
IDEがヘルプ付きで候補出してくれるんだし、リファレンスもあるんだから困るほどのことじゃない
あくまでもプログラムであって自然言語じゃない
組み込み系OSだったらディレクトリ構造持ってないようなやつあったりしないかね?全然しらんけど
つうかその程度なら332と同じく公式に準拠する
IDEがヘルプ付きで候補出してくれるんだし、リファレンスもあるんだから困るほどのことじゃない
あくまでもプログラムであって自然言語じゃない
336デフォルトの名無しさん (ワッチョイ ff2c-8Jcx)
2020/04/16(木) 02:36:44.98ID:tywb42E30 PowerShell では、FullName
$files = ls -File
echo $files[ 0 ].FullName
$files = ls -File
echo $files[ 0 ].FullName
337デフォルトの名無しさん (ワッチョイ 1701-wIxw)
2020/04/16(木) 07:33:52.84ID:9ICqslwr0 共有フォルダに置いてる実行ファイルで、一人が起動している時に別の人が起動したら処理中ですとお断りメッセージ出したいのですが、どういう方法で実現できるでしょうか?
DBでフラグ監理しようかとも思っているのですが、世間様はどうしているのかなと思い
DBでフラグ監理しようかとも思っているのですが、世間様はどうしているのかなと思い
338デフォルトの名無しさん (ワッチョイ ff2c-8Jcx)
2020/04/16(木) 07:47:41.61ID:tywb42E30 共有フォルダ内に、ファイルを置いて、それに記録すれば?
339デフォルトの名無しさん (ワッチョイ d733-YvxL)
2020/04/16(木) 08:37:52.82ID:vjXf34hg0 ロックファイル的なものを起動時に作成・チェックさせるとかかねぇ?
異常終了したりしてロックファイルが残った時が面倒だけど
そもそも共有フォルダに実行ファイルを置いて、それを起動するって運用が微妙な気がするけど
異常終了したりしてロックファイルが残った時が面倒だけど
そもそも共有フォルダに実行ファイルを置いて、それを起動するって運用が微妙な気がするけど
340デフォルトの名無しさん (オッペケ Sr8b-DNPS)
2020/04/16(木) 09:47:16.73ID:ADqfPc91r それな
ファイルおいたとこで実行ユーザはローカルとか、なにそれって感じ
なんでサーバにしないのとかね
ファイルおいたとこで実行ユーザはローカルとか、なにそれって感じ
なんでサーバにしないのとかね
341デフォルトの名無しさん (ワッチョイ d790-eJAq)
2020/04/16(木) 10:45:00.68ID:+RUJOV4w0 Unix環境とかならファイルオープン時に共有モード指定できないから、ロックファイルを「作成」できるかで排他制御するけど、
Windows環境なら共有モード指定できるから、「排他モードでオープン」できるかで排他制御できないの?
そうすれば、ロックの解放は単にファイルハンドルを閉じるだけでロックファイルを削除する必要はない。
で、異常終了してプロセスが終了した場合はOSがプロセスによって開かれてたファイルハンドルをクローズしてくれるので、
自動的にロックも解放されるってことにはならないの??
Windows環境なら共有モード指定できるから、「排他モードでオープン」できるかで排他制御できないの?
そうすれば、ロックの解放は単にファイルハンドルを閉じるだけでロックファイルを削除する必要はない。
で、異常終了してプロセスが終了した場合はOSがプロセスによって開かれてたファイルハンドルをクローズしてくれるので、
自動的にロックも解放されるってことにはならないの??
342デフォルトの名無しさん (ワッチョイ d790-eJAq)
2020/04/16(木) 11:06:22.69ID:+RUJOV4w0 途中共有モードを無視するような輩がいたらあれだけど、とりあえず全部Windowsで揃えてSMBで共有すればそれでいけそうな気がする
343デフォルトの名無しさん (ワッチョイ 9fad-10V6)
2020/04/16(木) 11:06:44.41ID:X8YLxQCs0 設計が悪い
344デフォルトの名無しさん (ワッチョイ 5701-xSTm)
2020/04/16(木) 11:07:10.39ID:tiZKLZWE0 理論通りに動けば良いなぁ
なおopenfiles ってコマンドで強制解除出来る
なおopenfiles ってコマンドで強制解除出来る
345デフォルトの名無しさん (ワッチョイ d790-eJAq)
2020/04/16(木) 11:17:40.23ID:+RUJOV4w0 そうすれば、アプリ起動時にnew FileStream(特定のファイル、FileShare.None) アプリ終了時にStream.Closeの2行で実装終了
Windows最強
Windows最強
346デフォルトの名無しさん (ワッチョイ d733-YvxL)
2020/04/16(木) 11:28:29.69ID:vjXf34hg0 >>345
それって共有フォルダ側が安いNAS(≒samba)でも使えるの?
それって共有フォルダ側が安いNAS(≒samba)でも使えるの?
347デフォルトの名無しさん (ワッチョイ d790-eJAq)
2020/04/16(木) 11:51:08.70ID:+RUJOV4w0 >>346
それは知らない。
すべては要件次第。あくまで全部Windowsで揃えられる場合の一番簡単な実装を示しただけ。
安いNASでダメだったら、君のいうロックファイルのやり方でやればいい。ただし、君の方法もひょっとしたら安いNASで「ファイルの存在確認とファイルなければ作成」をアトミックにやってくれないSMBの実装があって使えない可能性もあるので。
それは知らない。
すべては要件次第。あくまで全部Windowsで揃えられる場合の一番簡単な実装を示しただけ。
安いNASでダメだったら、君のいうロックファイルのやり方でやればいい。ただし、君の方法もひょっとしたら安いNASで「ファイルの存在確認とファイルなければ作成」をアトミックにやってくれないSMBの実装があって使えない可能性もあるので。
348今度はビルドとはとか言い出すんだろうか? (ドコグロ MMbf-A2g6)
2020/04/16(木) 12:10:19.37ID:7ingXuoIM >>339
> そもそも共有フォルダに実行ファイルを置いて、それを起動するって運用が微妙な気がするけど
バージョンアップの手間を省きたいとかでしょ
Web化しろとかの話もあるだろうけどそこまで工数かけられないとか普通にあると思う
> そもそも共有フォルダに実行ファイルを置いて、それを起動するって運用が微妙な気がするけど
バージョンアップの手間を省きたいとかでしょ
Web化しろとかの話もあるだろうけどそこまで工数かけられないとか普通にあると思う
349デフォルトの名無しさん (アウアウウー Sa1b-V/21)
2020/04/16(木) 12:11:00.19ID:qm5c5Rqxa >>337
微妙に要件と違うけど、昔のアドビのアプリは同一ネットワーク内のPCでは
同じプロダクトキーでアクティベートされたソフトは同時に起動できなかった
あれと同じ仕組みを使うことは可能じゃないか
具体的にどういう仕組みか知らんけどw
微妙に要件と違うけど、昔のアドビのアプリは同一ネットワーク内のPCでは
同じプロダクトキーでアクティベートされたソフトは同時に起動できなかった
あれと同じ仕組みを使うことは可能じゃないか
具体的にどういう仕組みか知らんけどw
350デフォルトの名無しさん (ワッチョイ 5701-xSTm)
2020/04/16(木) 12:45:50.28ID:tiZKLZWE0 udpでマルチキャストする
351337 (ワッチョイ 1701-wIxw)
2020/04/16(木) 18:51:55.07ID:9ICqslwr0 DBにログインIDと開始時刻を記録して処理が成功したら記録削除、失敗してたら20分経過で無効情報で良いかと思ってます
処理が20分超えたらアウトというイケてない部分をどうしようかとも思ってます
だったらファイル管理でも良いかなと思ってますが
処理が20分超えたらアウトというイケてない部分をどうしようかとも思ってます
だったらファイル管理でも良いかなと思ってますが
352デフォルトの名無しさん (ワッチョイ 57ad-7Qxr)
2020/04/16(木) 19:13:42.88ID:jOE4Vo+O0 DBに処理対象を一意な文字列にして、ユーザIDとIPアドレスをもってロックを確保しに行ってるな。
弾かれた側に「誰々がどこでロックしてるから諦めるか直談判しにいけ」ってメッセージにしてる。
ロックが外れる時間は2分にしてるけど、ロック掛けてる側が、30秒ごとに延長するように更新してる。
トランザクションは増えるけど、強制終了してロックが残ったのを外す方が手間。
20分待ってくれる方が少ないと思うぞ。
1000人ぐらいが同時に使ってるが、それほど負荷は無い。ジャーナルの残し方だけ気にした方がいいぐらいか。
弾かれた側に「誰々がどこでロックしてるから諦めるか直談判しにいけ」ってメッセージにしてる。
ロックが外れる時間は2分にしてるけど、ロック掛けてる側が、30秒ごとに延長するように更新してる。
トランザクションは増えるけど、強制終了してロックが残ったのを外す方が手間。
20分待ってくれる方が少ないと思うぞ。
1000人ぐらいが同時に使ってるが、それほど負荷は無い。ジャーナルの残し方だけ気にした方がいいぐらいか。
353デフォルトの名無しさん (ワッチョイ 9f01-7Des)
2020/04/16(木) 22:10:16.88ID:phPWx1q30 >>351
タイムアウトを含めて失敗したら即リソースを解放すればいいだけでは?
あと排他制御が必要なリソースの状態を管理するテーブルと
そのリソースを誰が使ってるかみたいな情報を管理するテーブルは別にしたほうがいいよ
タイムアウトを含めて失敗したら即リソースを解放すればいいだけでは?
あと排他制御が必要なリソースの状態を管理するテーブルと
そのリソースを誰が使ってるかみたいな情報を管理するテーブルは別にしたほうがいいよ
354337 (ワッチョイ 1701-wIxw)
2020/04/17(金) 07:33:58.48ID:sST11acE0 >>353
処理失敗とかイベント取れる所なら良いのですがパソコンがネットワークからいきなり外れた時とかどうしようかなと
処理失敗とかイベント取れる所なら良いのですがパソコンがネットワークからいきなり外れた時とかどうしようかなと
355デフォルトの名無しさん (ワッチョイ 9f01-7Des)
2020/04/17(金) 15:28:13.52ID:xgpGiYXu0356デフォルトの名無しさん (ワッチョイ d777-Ho7r)
2020/04/17(金) 23:54:48.06ID:66fHRI6x0 chartのX軸のスクロールバーを動かしたときのイベントハンドラ的なものってありますか?
具体的には、縦軸(Y軸)の範囲を表示されている範囲内の最大値と最小値に逐次変更したいです。
具体的には、縦軸(Y軸)の範囲を表示されている範囲内の最大値と最小値に逐次変更したいです。
357デフォルトの名無しさん (ワッチョイ d777-Ho7r)
2020/04/18(土) 15:39:00.86ID:9PsozTHm0358デフォルトの名無しさん (アウアウウー Sa1b-7wDT)
2020/04/18(土) 23:09:11.85ID:fgVpQ9I4a359デフォルトの名無しさん (ワッチョイ 57ad-DoiI)
2020/04/18(土) 23:47:30.29ID:Fpx5gr7r0 >>358
cssで装飾したら?
cssで装飾したら?
360デフォルトの名無しさん (ワッチョイ 9f8a-ycCE)
2020/04/19(日) 17:56:07.02ID:a5Bxo0wQ0 FormにWebboewserコントロールを張り付けて ↓のコードコピペしたのですがThis がFrom1を参照しているのでエラーになります。
正しく使うのはうすればいいのでしょうか?
https://todosoft.net/blog/?p=380
正しく使うのはうすればいいのでしょうか?
https://todosoft.net/blog/?p=380
361デフォルトの名無しさん (ワッチョイ 5701-lL3q)
2020/04/19(日) 18:02:11.94ID:jRRmPQvY0 今時、IE7ベース?
cefsharp使ったら?
cefsharp使ったら?
362デフォルトの名無しさん (ワッチョイ 9f8a-ycCE)
2020/04/19(日) 18:32:01.51ID:a5Bxo0wQ0 今時WebBrowserコントロールは古いんですね
とりあえず、これは勉強の為のなので、WebBrowserで大丈夫です。
上記コードの this を webBrowser1 に置換すれば問題なく動きますが、thisのまま使う場合はどのようなコードになるのでしょうか?
とりあえず、これは勉強の為のなので、WebBrowserで大丈夫です。
上記コードの this を webBrowser1 に置換すれば問題なく動きますが、thisのまま使う場合はどのようなコードになるのでしょうか?
363デフォルトの名無しさん (アウアウウー Sa1b-V/21)
2020/04/19(日) 19:46:35.97ID:E7TwXw1va ちょっと何言ってるのか
364デフォルトの名無しさん (アウアウウー Sa1b-LzhE)
2020/04/19(日) 19:56:24.71ID:3Oe7CVmea >>362
リンク先のソースのメソッドは、おそらくはFormではなくWebBrowserを継承したコントロールに書くメソッド
WinForms標準のコントロール自体に機能追加することで、あちこちのFormでWebBrowserを使うつどそういうソースを書かなくて済むようにしてる
初学者でカスタムコントロールの作りかたとか未学習なら「this を webBrowser1に置き換え」で回避してよいと思う
リンク先のソースのメソッドは、おそらくはFormではなくWebBrowserを継承したコントロールに書くメソッド
WinForms標準のコントロール自体に機能追加することで、あちこちのFormでWebBrowserを使うつどそういうソースを書かなくて済むようにしてる
初学者でカスタムコントロールの作りかたとか未学習なら「this を webBrowser1に置き換え」で回避してよいと思う
365デフォルトの名無しさん (ワッチョイ 9f8a-ycCE)
2020/04/19(日) 21:42:29.85ID:a5Bxo0wQ0366デフォルトの名無しさん (ワッチョイ 779b-+5sX)
2020/04/21(火) 13:34:05.32ID:3bJr7zNG0 Form1に以下のような構造体を作ったんです。
// ----------通知方法の構造体--------------------
public struct Nortification
{
public bool OpenBrowser;
public bool MessageboxShow;
public bool ToolchipBaloonShow;
}
次にメンバ変数として以下を定義しました
static Nortification _nort = new Nortification(); //構造体のインスタンス
で、プロパティを作ったんです
public static Nortification nort
{
get
{
return _nort;
}
set
{
_nort = value;
}
}
ところが、このプロパティをForm2で書き込もうとすると
Form1.nort.OpenBrowser = true;
「変数ではないため Form1.nort の戻り値を変更出来ません」とエラーになります。
// ----------通知方法の構造体--------------------
public struct Nortification
{
public bool OpenBrowser;
public bool MessageboxShow;
public bool ToolchipBaloonShow;
}
次にメンバ変数として以下を定義しました
static Nortification _nort = new Nortification(); //構造体のインスタンス
で、プロパティを作ったんです
public static Nortification nort
{
get
{
return _nort;
}
set
{
_nort = value;
}
}
ところが、このプロパティをForm2で書き込もうとすると
Form1.nort.OpenBrowser = true;
「変数ではないため Form1.nort の戻り値を変更出来ません」とエラーになります。
367デフォルトの名無しさん (ワッチョイ 779b-+5sX)
2020/04/21(火) 13:38:13.11ID:3bJr7zNG0 >>366の続き
しかし、以下のようにするとエラーは消えました。
Nortification nt = new Nortification();
nt = Form1.nort;
nt.OpenBrowser = true;
Form1.nort = nt;
いったん別のインスタンスを作ってそこに構造体ごとコピーし、
コピーのメンバなら値を設定出来ました。
最後に元のインスタンスへコピーし直します。
なぜ元の構造体のメンバに直接値を書き込めないのでしょうか?
そもそも構造体の使い方が間違っていますか?
しかし、以下のようにするとエラーは消えました。
Nortification nt = new Nortification();
nt = Form1.nort;
nt.OpenBrowser = true;
Form1.nort = nt;
いったん別のインスタンスを作ってそこに構造体ごとコピーし、
コピーのメンバなら値を設定出来ました。
最後に元のインスタンスへコピーし直します。
なぜ元の構造体のメンバに直接値を書き込めないのでしょうか?
そもそも構造体の使い方が間違っていますか?
368デフォルトの名無しさん (JP 0H8f-nkQT)
2020/04/21(火) 13:51:21.58ID:cdjEy/7BH >>367
C#入門者が必ず嵌るポイント
c# 値型と参照型 とかでググれば腐るほど出てくる
構造体は特性をよく理解した上でパフォーマンス上のメリットがある場合のみ使うもの
今は忘れてクラスだけ使ってればいい
C#入門者が必ず嵌るポイント
c# 値型と参照型 とかでググれば腐るほど出てくる
構造体は特性をよく理解した上でパフォーマンス上のメリットがある場合のみ使うもの
今は忘れてクラスだけ使ってればいい
369デフォルトの名無しさん (ワッチョイ 37b2-BRXw)
2020/04/21(火) 15:53:17.78ID:1MDMdwK80 このメモリ大容量時代に構造体プログラミングなんてすなや
370デフォルトの名無しさん (ワッチョイ 9fad-7eNI)
2020/04/21(火) 16:02:20.66ID:LjsiMFkA0 必要なとこでは必要なんだよ
371デフォルトの名無しさん (オッペケ Sr8b-s6iC)
2020/04/21(火) 16:39:28.13ID:tax3JV1pr でもまあここでは要らないわな
372デフォルトの名無しさん (ワッチョイ 9fad-7eNI)
2020/04/21(火) 16:39:46.61ID:LjsiMFkA0 そだね
373デフォルトの名無しさん (ワッチョイ 779b-+5sX)
2020/04/21(火) 16:44:50.57ID:3bJr7zNG0 おっしゃるとおりクラスに変更したところエラーは出なくなりました。
ググると以下のページのような記述がありました
https://smdn.jp/programming/netfx/valuetype_referencetype/#value_type_property
値型では代入時にコピーが作成されますが、値型のプロパティやインデクサから値を
取得しようとする場合も同様にコピーが作成されます。
値型のプロパティ・インデクサはインスタンスそのものではなくインスタンスのコピーを
返すことから、直接インスタンスを変更することができません。
そのため、次の例のように値型のプロパティを直接変更しようとするとコンパイルエラーとなります。
参照型では変更しようとするインスタンスを参照によって取得することができるため、
コンパイルエラーとはなりません。
>値型のプロパティはインスタンスそのものではなくインスタンスのコピーを返す
ということなのでやはり構造体の型をプロパティにするのは使い勝手が悪そうですね
いっそインスタンス作成時にpublicにしたほうがいいかもと思いました
ググると以下のページのような記述がありました
https://smdn.jp/programming/netfx/valuetype_referencetype/#value_type_property
値型では代入時にコピーが作成されますが、値型のプロパティやインデクサから値を
取得しようとする場合も同様にコピーが作成されます。
値型のプロパティ・インデクサはインスタンスそのものではなくインスタンスのコピーを
返すことから、直接インスタンスを変更することができません。
そのため、次の例のように値型のプロパティを直接変更しようとするとコンパイルエラーとなります。
参照型では変更しようとするインスタンスを参照によって取得することができるため、
コンパイルエラーとはなりません。
>値型のプロパティはインスタンスそのものではなくインスタンスのコピーを返す
ということなのでやはり構造体の型をプロパティにするのは使い勝手が悪そうですね
いっそインスタンス作成時にpublicにしたほうがいいかもと思いました
374デフォルトの名無しさん (アウアウウー Sa1b-V/21)
2020/04/21(火) 16:56:16.12ID:K2Bh67Tta >>373
コードを書く側の立場で考えると
>構造体の型をプロパティにするのは使い勝手が悪そう
これはむしろ逆の場合が多いと思うよ。
考えてもみてよ。
プロパティーの値が変更された時の処理をプログラマは普通プロパティーのセッターに書く。
ゲッター経由でプロパティーが実質的に変更されてしまう可能性があるとしたら?
コードを書く側の立場で考えると
>構造体の型をプロパティにするのは使い勝手が悪そう
これはむしろ逆の場合が多いと思うよ。
考えてもみてよ。
プロパティーの値が変更された時の処理をプログラマは普通プロパティーのセッターに書く。
ゲッター経由でプロパティーが実質的に変更されてしまう可能性があるとしたら?
375デフォルトの名無しさん (ワッチョイ bfda-ycCE)
2020/04/21(火) 17:27:49.13ID:2AP1dLJq0 もしかして: notification
376デフォルトの名無しさん (ワッチョイ ff2d-QsZ8)
2020/04/21(火) 17:34:55.97ID:Q9kb1Yoh0 値型で高速化の話が出てきたついでに教えて欲しいんだけどさあ
下のそれぞれの変数って、スタックとヒープどっちにメモリが確保されてるの?これであってる???
静的なint型の変数・・・・スタック
静的な構造体・・・・スタック
mainメソッド内に宣言されたint型の変数・・・・ヒープ
mainメソッド内に宣言された構造体・・・・ヒープ
インスタンス内で宣言されたint型変数・・・・ヒープ
インスタンス内で宣言された構造体・・・・ヒープ
下のそれぞれの変数って、スタックとヒープどっちにメモリが確保されてるの?これであってる???
静的なint型の変数・・・・スタック
静的な構造体・・・・スタック
mainメソッド内に宣言されたint型の変数・・・・ヒープ
mainメソッド内に宣言された構造体・・・・ヒープ
インスタンス内で宣言されたint型変数・・・・ヒープ
インスタンス内で宣言された構造体・・・・ヒープ
377デフォルトの名無しさん (ワッチョイ 7feb-Ho7r)
2020/04/21(火) 18:06:24.10ID:3Z0ku97Y0 VisualStudioプロフェッショナル版以下使用時、
プログラムの概観を素早く把握したい時ってどうするのがベストなんでしょう?
ctrl + m → o ?
逆に把握してもらいたい時はDocFXとかに頼る形になるのかな
プログラムの概観を素早く把握したい時ってどうするのがベストなんでしょう?
ctrl + m → o ?
逆に把握してもらいたい時はDocFXとかに頼る形になるのかな
378デフォルトの名無しさん (ワッチョイ d763-/zZG)
2020/04/21(火) 18:43:14.63ID:gorOElOo0 概要をさくっと把握する、にコード見ろになるの?
概要こそドキュメント、もしくはファイル先頭に概要コメントで詳細は各メソッドのコメントなりコード見ろじゃない?
docをコメントから自動生成するなら書いてある内容の粒度はコメントだろうがドキュメントだろうが変わらん
プログラマが見るならIDEで見れたほうがいい場合もあるしそうじゃないなたhtmlドキュメントみたいなのが良い場合もある
概要こそドキュメント、もしくはファイル先頭に概要コメントで詳細は各メソッドのコメントなりコード見ろじゃない?
docをコメントから自動生成するなら書いてある内容の粒度はコメントだろうがドキュメントだろうが変わらん
プログラマが見るならIDEで見れたほうがいい場合もあるしそうじゃないなたhtmlドキュメントみたいなのが良い場合もある
379デフォルトの名無しさん (ワッチョイ ff8e-eUuY)
2020/04/21(火) 18:50:11.10ID:XAeWC18v0 >>366
なんでget,setしとるの?
なんでget,setしとるの?
380デフォルトの名無しさん (JP 0H8f-nkQT)
2020/04/21(火) 18:52:56.43ID:cdjEy/7BH381デフォルトの名無しさん (ワッチョイ d763-/zZG)
2020/04/21(火) 18:57:38.36ID:gorOElOo0 >>376
ついでにいうとそもそもint自体も構造体だよ
ついでにいうとそもそもint自体も構造体だよ
382デフォルトの名無しさん (ワッチョイ 5701-lL3q)
2020/04/21(火) 19:18:17.27ID:mEER3mJt0 >>381
mjd?
mjd?
383デフォルトの名無しさん (ブーイモ MMcf-gAk0)
2020/04/21(火) 19:36:44.84ID:DjpYKR7GM 意識しすぎてstringクラスでまた勘違いする
384デフォルトの名無しさん (ワッチョイ b7cf-RulI)
2020/04/21(火) 20:51:10.54ID:E4gE2B8j0 >>379
get,setしないとフィールドにアクセスできないじゃん
get,setしないとフィールドにアクセスできないじゃん
385デフォルトの名無しさん (ワッチョイ ff2d-QsZ8)
2020/04/21(火) 20:56:24.99ID:Q9kb1Yoh0 >>380
全然わかってなかったぜ、ありがとう!
全然わかってなかったぜ、ありがとう!
386デフォルトの名無しさん (アウアウエー Sadf-t/jp)
2020/04/21(火) 21:28:08.07ID:Vo0c0hBga387デフォルトの名無しさん (ワッチョイ 9f01-7Des)
2020/04/21(火) 21:44:15.58ID:9fcQjJm80388デフォルトの名無しさん (ワッチョイ 972c-htAm)
2020/04/21(火) 22:34:21.97ID:gnqBqFRT0389デフォルトの名無しさん (ワッチョイ ff8e-eUuY)
2020/04/21(火) 23:09:05.72ID:XAeWC18v0 >>384
structだぞ
structだぞ
390デフォルトの名無しさん (ワッチョイ b2da-6+K6)
2020/04/22(水) 02:26:50.40ID:C83u6fr40 https://dotnet.microsoft.com/download/dotnet-framework/net48
のDeveloper Pack をインストールしました。
C#の言語バージョンは 8.0 になると思ったのですが、現在は 5 のようです。
--------------------------------------------------------------
C:\Windows\system32>csc
Microsoft (R) Visual C# Compiler version 4.8.3752.0
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.
This compiler is provided as part of the Microsoft (R) .NET Framework,
but only supports language versions up to C# 5,
which is no longer the latest version. For compilers that support newer versions of the C# programming language,
see http://go.microsoft.com/fwlink/?LinkID=533240
--------------------------------------------------------------
どうすれば、C# 8 を使用出来ますか?
のDeveloper Pack をインストールしました。
C#の言語バージョンは 8.0 になると思ったのですが、現在は 5 のようです。
--------------------------------------------------------------
C:\Windows\system32>csc
Microsoft (R) Visual C# Compiler version 4.8.3752.0
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.
This compiler is provided as part of the Microsoft (R) .NET Framework,
but only supports language versions up to C# 5,
which is no longer the latest version. For compilers that support newer versions of the C# programming language,
see http://go.microsoft.com/fwlink/?LinkID=533240
--------------------------------------------------------------
どうすれば、C# 8 を使用出来ますか?
391デフォルトの名無しさん (アウアウウー Sa83-GHE+)
2020/04/22(水) 09:28:54.12ID:lrNM/Ez+a >>390
手で入れたことはないから確証はないけど、.NET Frameworkに含まれるC#コンパイラはRoslynになる前の旧世代のもので止まっているのだろう
普通、新しい.NETはVSのインストーラから入れるもので、そうすればRoslyn世代のコンパイラも勝手に入る
ちなみにC#8では.NET Coreのみに対応しており、.NET Frameworkは完全にサポート外になった
手で入れたことはないから確証はないけど、.NET Frameworkに含まれるC#コンパイラはRoslynになる前の旧世代のもので止まっているのだろう
普通、新しい.NETはVSのインストーラから入れるもので、そうすればRoslyn世代のコンパイラも勝手に入る
ちなみにC#8では.NET Coreのみに対応しており、.NET Frameworkは完全にサポート外になった
392デフォルトの名無しさん (ワッチョイ dc2c-y6ks)
2020/04/22(水) 15:03:54.78ID:Tc3u/Tz90 > ちなみにC#8では.NET Coreのみに対応しており、.NET Frameworkは完全にサポート外になった
そんなわけあるか
普通にコンパイルできるわ
そんなわけあるか
普通にコンパイルできるわ
393デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/22(水) 15:23:15.27ID:NZfVsFFq0 >>392
非対応の機能使ってなければコンパイルできるよね
非対応の機能使ってなければコンパイルできるよね
394デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/22(水) 15:23:51.48ID:NZfVsFFq0 >>391
.NET Standardも2.1なら対応してるやろ
.NET Standardも2.1なら対応してるやろ
395デフォルトの名無しさん (ワッチョイ 953a-1Gce)
2020/04/22(水) 15:25:45.83ID:M4wrH+Xp0 C# 8.0 の新機能
https://docs.microsoft.com/ja-jp/dotnet/csharp/whats-new/csharp-8
>C# 8.0 は .NET Core 3.x と .NET Standard 2.1 でサポートされています。
https://docs.microsoft.com/ja-jp/dotnet/csharp/whats-new/csharp-8
>C# 8.0 は .NET Core 3.x と .NET Standard 2.1 でサポートされています。
396デフォルトの名無しさん (ブーイモ MMfd-4A6c)
2020/04/22(水) 20:18:39.80ID:oGjFYrP4M .NET Frameworkは.NET Standard2.1はサポート対象外なのか
非同期ストリームやインデクサやrange等は.NET Standard 2.1なので、C#8.0を.NET Framework 4.8に設定すると使用できなくなる
.NET Core 3.0やXamarin、Unity、Monoはすべて.NET Standard 2.1を実装する
非同期ストリームやインデクサやrange等は.NET Standard 2.1なので、C#8.0を.NET Framework 4.8に設定すると使用できなくなる
.NET Core 3.0やXamarin、Unity、Monoはすべて.NET Standard 2.1を実装する
397デフォルトの名無しさん (ワッチョイ 7349-xf6K)
2020/04/23(木) 13:32:04.15ID:UY53iXGX0 coreに行っとけってこった
398デフォルトの名無しさん (ワッチョイ dc2c-y6ks)
2020/04/23(木) 17:51:59.15ID:YT2pRfjo0 Coreにさっさと移行すべきというのはその通りだが
C#8の文法に必要な大体のライブラリは.NET Framework用にバックポートされてNugetで公開されてる
C#8の文法に必要な大体のライブラリは.NET Framework用にバックポートされてNugetで公開されてる
399デフォルトの名無しさん (アウアウエー Sa6a-0GGu)
2020/04/23(木) 19:26:18.65ID:iR4g/Ykka 言いたいことは判るがそれは論点ずらしだ
400デフォルトの名無しさん (ワッチョイ faad-PpL2)
2020/04/23(木) 19:57:39.98ID:m302zc2R0 作成したアプリの.NETのバージョンが4.6.2で古い4.5がインストールされている環境でも動作させたいのだけど、何もしなくても動かせますかね?使ってるc#のコードは、4.5以降なら動作するんですが。
アプリケーション構成ファイルのsupportedRuntimeとか書き換えるとか何か必要ですか?
アプリケーション構成ファイルのsupportedRuntimeとか書き換えるとか何か必要ですか?
401デフォルトの名無しさん (ワッチョイ b6d6-Op/G)
2020/04/23(木) 20:04:56.27ID:ngI9YQpk0 >>400
プロジェクトのプロパティでアプリケーションの対象フレームワークを4.5に変更してからリビルド
プロジェクトのプロパティでアプリケーションの対象フレームワークを4.5に変更してからリビルド
402デフォルトの名無しさん (ワッチョイ faad-PpL2)
2020/04/23(木) 20:17:04.06ID:m302zc2R0403デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/23(木) 20:26:13.85ID:AGd9KY8X0 古いバージョンならリビルドしないと無理。逆は大丈夫だけど。
404デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/23(木) 20:26:49.41ID:AGd9KY8X0 ちなみになんでサポート切れのバージョン使ってんの?
405デフォルトの名無しさん (ワッチョイ dc2c-y6ks)
2020/04/23(木) 20:38:44.94ID:YT2pRfjo0 そのアプリが面倒みる最低バージョンでビルドしとけばいいよ
もちろんそれより上のバージョンでちゃんと動くことを保証するものではないけど
もちろんそれより上のバージョンでちゃんと動くことを保証するものではないけど
406デフォルトの名無しさん (ワッチョイ faad-PpL2)
2020/04/23(木) 20:39:33.00ID:m302zc2R0407デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/23(木) 20:50:49.64ID:AGd9KY8X0 >>406
Windows10は最初のバージョンから既に4.6がプレインストールされてたはずだけど…まだ7使ってんの?しかもサポート切れのままで?
Windows10は最初のバージョンから既に4.6がプレインストールされてたはずだけど…まだ7使ってんの?しかもサポート切れのままで?
408デフォルトの名無しさん (ワッチョイ dc2c-y6ks)
2020/04/23(木) 21:12:57.93ID:YT2pRfjo0 Windows 8.1さんを忘れるんじゃない
409デフォルトの名無しさん (ワッチョイ 968e-iRnL)
2020/04/23(木) 21:18:36.78ID:A1RPJ5qa0 >>384
答えろよ
答えろよ
410デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/23(木) 21:22:31.43ID:AGd9KY8X0 >>408
ごめんわざと
ごめんわざと
411デフォルトの名無しさん (アウアウウー Sa30-R0M4)
2020/04/23(木) 21:29:24.37ID:tIS/wRWha あれれ、たしか数年前の時点で
.NETFramework4.5.2以下のサポートは強制打ち切りになったはず・・・・
いまは最低4.6にしとけば全環境カバーできるものとばかり思ってたけど、俺なにか勘違いしてる?
.NETFramework4.5.2以下のサポートは強制打ち切りになったはず・・・・
いまは最低4.6にしとけば全環境カバーできるものとばかり思ってたけど、俺なにか勘違いしてる?
412デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/23(木) 21:34:01.17ID:AGd9KY8X0 >>411
4.5.2はまだサポートされてるっしょ
4.5.2はまだサポートされてるっしょ
413デフォルトの名無しさん (アウアウウー Sa30-R0M4)
2020/04/23(木) 21:39:29.55ID:tIS/wRWha ごめん自己レス
4.5.2「以下」じゃなくて4.5.2「未満」が2016年1月13日でサポート終了だった・・・間違えて覚えてたわ
https://www.atmarkit.co.jp/ait/articles/1503/04/news141.html
4.5.2「以下」じゃなくて4.5.2「未満」が2016年1月13日でサポート終了だった・・・間違えて覚えてたわ
https://www.atmarkit.co.jp/ait/articles/1503/04/news141.html
414デフォルトの名無しさん (ワッチョイ 0a2f-Hty+)
2020/04/23(木) 23:58:26.72ID:9prkr8SY0 7もまだESUってのがあるからあと3年弱は現役だぞ
415デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/24(金) 01:05:13.24ID:agN2oJUo0 >>414
でも4.5はサポート切れ
でも4.5はサポート切れ
416デフォルトの名無しさん (ワッチョイ d49b-Ue8b)
2020/04/24(金) 11:08:50.08ID:VS+6OBXT0 メソッド内でnewしたインスタンスはメソッド抜けたら破棄されるから
disposeしたりnull代入したりする必要はありません!
っていうネット記事を見たんですが本当ですか?
メソッド抜けたら破棄されるのは値型の変数だけで
インスタンスが消費するメモリは解放されないと思っていました
disposeしたりnull代入したりする必要はありません!
っていうネット記事を見たんですが本当ですか?
メソッド抜けたら破棄されるのは値型の変数だけで
インスタンスが消費するメモリは解放されないと思っていました
417デフォルトの名無しさん (ワッチョイ 6e61-1Gce)
2020/04/24(金) 11:12:48.04ID:0XMd7UjD0 GCが気が向いたときに掃除してくれるんじゃなかったっけ?
418デフォルトの名無しさん (ワッチョイ 2f24-Ej8M)
2020/04/24(金) 11:22:24.63ID:jeeSLMOH0 Disposeやnull代入してもそのクラス自体のメモリは解放されない
C#においてはそこはガベコレの担当であって基本プログラマはコントロールできないので少なくともnull代入は完全に不要
Marshal.AllocHGlobalのような明示的に解放しなきゃいけないアンマネージドリソースを使ってる場合にはIDisposable.Disposeが必要になる訳だけど、
ただそれも明示的にDispose()を呼ばずとも一応GCによる破棄タイミングで自動的にDispose()が呼ばれるので絶対呼ばなきゃいけない訳ではない(なんかの理由でDisposeに関しては明示的に呼んだ方が良かったはずだけど)
C#においてはそこはガベコレの担当であって基本プログラマはコントロールできないので少なくともnull代入は完全に不要
Marshal.AllocHGlobalのような明示的に解放しなきゃいけないアンマネージドリソースを使ってる場合にはIDisposable.Disposeが必要になる訳だけど、
ただそれも明示的にDispose()を呼ばずとも一応GCによる破棄タイミングで自動的にDispose()が呼ばれるので絶対呼ばなきゃいけない訳ではない(なんかの理由でDisposeに関しては明示的に呼んだ方が良かったはずだけど)
419デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/24(金) 11:41:15.89ID:agN2oJUo0 >>418
Disposeで破棄せずに(保険用の)ファイナライザーに任せると、実際に破棄されるタイミングがgen0→gen1みたいに後回しになっていって高コストになるからね
Disposeで破棄せずに(保険用の)ファイナライザーに任せると、実際に破棄されるタイミングがgen0→gen1みたいに後回しになっていって高コストになるからね
420デフォルトの名無しさん (アウアウウー Sab5-BpYI)
2020/04/24(金) 12:08:50.65ID:hmKdXDZUa >>416
ネット記事じゃなくてちょっと前のここのレスじゃないのそれw
ネット記事じゃなくてちょっと前のここのレスじゃないのそれw
421デフォルトの名無しさん (アウアウエー Sa6a-0GGu)
2020/04/24(金) 12:14:59.67ID:FFBNt2WCa422デフォルトの名無しさん (ワッチョイ d49b-Ue8b)
2020/04/24(金) 12:25:56.45ID:VS+6OBXT0 >>420
この記事だったかも
https://qiita.com/7of9/items/ed4aa75852ae92c9cc58#comment-3cd34c69333eaf1c2d1e
nullを入れるのはやめましょう。
そんなことしなくてもローカル変数なら最後に登場した箇所以降はスコープ抜けたのと同じ扱いに最適化されます。
入門書にはnullを入れるよう書いてあるのもあるのですが・・・
https://i.imgur.com/VMOSHDY.gif
この記事だったかも
https://qiita.com/7of9/items/ed4aa75852ae92c9cc58#comment-3cd34c69333eaf1c2d1e
nullを入れるのはやめましょう。
そんなことしなくてもローカル変数なら最後に登場した箇所以降はスコープ抜けたのと同じ扱いに最適化されます。
入門書にはnullを入れるよう書いてあるのもあるのですが・・・
https://i.imgur.com/VMOSHDY.gif
423デフォルトの名無しさん (アウアウウー Sab5-BpYI)
2020/04/24(金) 13:00:24.56ID:hmKdXDZUa >>422
null代入は無意味は(ほとんどの場合)本当
それ言ってるのたぶんVB上がりの人
メモリーの管理はシステム任せでOK
Dispose無意味は(ほとんどの場合)間違い。
IDisposableをわざわざ実装しているのは、不要になったら可及的速やかにDisposeして欲しいから。
コンピュータのリソースにはシリアルポートみたいに数個しか存在しなかったり、拡張スロットやUSBにぶら下がってる
ハードウェアみたいに排他的にしか使用できないものがある。
そういうのは使い終わったらとっとと解放してやらないと他で使えないことになる。
IDisposableはそういう使い方を想定している
null代入は無意味は(ほとんどの場合)本当
それ言ってるのたぶんVB上がりの人
メモリーの管理はシステム任せでOK
Dispose無意味は(ほとんどの場合)間違い。
IDisposableをわざわざ実装しているのは、不要になったら可及的速やかにDisposeして欲しいから。
コンピュータのリソースにはシリアルポートみたいに数個しか存在しなかったり、拡張スロットやUSBにぶら下がってる
ハードウェアみたいに排他的にしか使用できないものがある。
そういうのは使い終わったらとっとと解放してやらないと他で使えないことになる。
IDisposableはそういう使い方を想定している
424デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/24(金) 13:11:21.82ID:agN2oJUo0 >>422
何その画像…デタラメやん
何その画像…デタラメやん
425デフォルトの名無しさん (アウアウウー Sa83-GHE+)
2020/04/24(金) 13:15:41.83ID:5EQwPUhVa 間違ってはいないだろ
nullを代入しておけば、メソッドを抜ける前にGCが走った場合に早期に解放されるかもしれない
ほとんどのメソッドは一瞬で抜けるため無意味だが、極一部の長時間抜けないメソッドではnull代入は必ずしも無意味ではない
nullを代入しておけば、メソッドを抜ける前にGCが走った場合に早期に解放されるかもしれない
ほとんどのメソッドは一瞬で抜けるため無意味だが、極一部の長時間抜けないメソッドではnull代入は必ずしも無意味ではない
426デフォルトの名無しさん (JP 0H34-GHE+)
2020/04/24(金) 13:22:18.77ID:rjwoLxqDH null代入して直後にGC.Collect呼ぶのはやったことある
古い.NETのバージョンだと、画像処理とかで巨大なオブジェクトを何度も確保しようとするとメモリ不足で落ちるケースがあった
古い.NETのバージョンだと、画像処理とかで巨大なオブジェクトを何度も確保しようとするとメモリ不足で落ちるケースがあった
427デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/24(金) 13:47:27.48ID:agN2oJUo0 「インスタンスを解放するためには、b=null; とする必要があります」ってのは明らかに間違いやろ
428デフォルトの名無しさん (ワッチョイ c252-Z+/y)
2020/04/24(金) 13:49:36.10ID:DJ6Oa20x0 >>422
参考のためにその本のタイトルと著者を教えてもらえるかな?
参考のためにその本のタイトルと著者を教えてもらえるかな?
429デフォルトの名無しさん (ワッチョイ f2da-QpYc)
2020/04/24(金) 14:38:19.92ID:+jmL6Bae0 bがこの後どのような使われ方するのか分からんことには何とも言えん
430デフォルトの名無しさん (ワッチョイ c252-Z+/y)
2020/04/24(金) 14:56:29.99ID:DJ6Oa20x0 この本はその1ページで説明が完結していて、そこでnullを代入しないとメモリリークが発生すると誤解されるような記述の仕方をするのは、入門書としてNGだろう。
431デフォルトの名無しさん (ワッチョイ 0e33-lMNq)
2020/04/24(金) 15:17:25.33ID:ANXSn9cW0432デフォルトの名無しさん (アウアウウー Sab5-BpYI)
2020/04/24(金) 15:49:58.69ID:hmKdXDZUa 10年ぐらい前、本屋で結構挑発的なタイトルのCの入門書を見つけたので
立ち読みしてみたら前書きでnullと\0を混同してる記述を見つけてひっくり返ったことがあるw
学校の教科書じゃないんで本に書いてあるからって鵜呑みにしない方がいいねこの分野は。
立ち読みしてみたら前書きでnullと\0を混同してる記述を見つけてひっくり返ったことがあるw
学校の教科書じゃないんで本に書いてあるからって鵜呑みにしない方がいいねこの分野は。
433デフォルトの名無しさん (アウアウエー Sa6a-0GGu)
2020/04/24(金) 16:15:17.70ID:3fWjsT92a434デフォルトの名無しさん (ワッチョイ 0c01-UN6T)
2020/04/24(金) 16:28:15.46ID:qTnWiq4N0 >>425
その認識が間違いだよ
GC目的でローカル変数にnull入れるのは無意味
https://devblogs.microsoft.com/oldnewthing/20100810-00/?p=13193
ローカル変数じゃなければ意味がある場合もあるが入門書で書く内容ではない
その認識が間違いだよ
GC目的でローカル変数にnull入れるのは無意味
https://devblogs.microsoft.com/oldnewthing/20100810-00/?p=13193
ローカル変数じゃなければ意味がある場合もあるが入門書で書く内容ではない
435デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/24(金) 16:41:13.14ID:agN2oJUo0 >>433
別にそうする必要はないから誤解を招くような記載は不要
別にそうする必要はないから誤解を招くような記載は不要
>>418
たとえ null 代入がガペコレの契機にならなくとも、ヒューマン側では意図を明確に記述している点で、null 代入は推奨できる記述方法なのでは?
たとえ null 代入がガペコレの契機にならなくとも、ヒューマン側では意図を明確に記述している点で、null 代入は推奨できる記述方法なのでは?
437デフォルトの名無しさん (ワッチョイ c001-Wew5)
2020/04/24(金) 17:08:09.05ID:WBygUvPh0 sync;sync;sync; みたいな物か
438デフォルトの名無しさん (JP 0H34-GHE+)
2020/04/24(金) 17:08:16.95ID:gOoAV1SLH >>436
こいつは馬鹿なんじゃないかと読む者に疑いを持たせる契機にはなるね
こいつは馬鹿なんじゃないかと読む者に疑いを持たせる契機にはなるね
439デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/24(金) 17:11:27.32ID:agN2oJUo0 >>436
なぜC#なのにnullを代入する必要があるのかどうか悩むことになる時点でout
なぜC#なのにnullを代入する必要があるのかどうか悩むことになる時点でout
440デフォルトの名無しさん (ラクッペペ MM34-3YDc)
2020/04/24(金) 17:13:01.95ID:pn4zFTupM 意図が明確なのと無駄な意図の表明を混同するな
シンタックスシュガー嫌いおじさんと同じ言動だと気づけ
シンタックスシュガー嫌いおじさんと同じ言動だと気づけ
441デフォルトの名無しさん (ワッチョイ ac63-aCTA)
2020/04/24(金) 17:13:39.58ID:Ln0giejY0 人間側に意図を伝えたいならコードじゃなくてコメント書けよ
不要なコードを記述することが推奨なんかされるわけがない
不要なコードを記述することが推奨なんかされるわけがない
442デフォルトの名無しさん (ワッチョイ ae63-7TXW)
2020/04/24(金) 17:17:33.89ID:CQLUkzVV0443デフォルトの名無しさん (ブーイモ MMfd-Pmq7)
2020/04/24(金) 17:37:41.38ID:+0niyonSM >>441
コメントで書かれても。。。
コメントで書かれても。。。
444デフォルトの名無しさん (ワッチョイ 0a2f-Hty+)
2020/04/24(金) 18:39:20.66ID:4FfGWszI0445デフォルトの名無しさん (ワッチョイ 245f-i0du)
2020/04/24(金) 18:40:18.74ID:0yikN2xQ0 今Xmlのデシリアライズの質問に答えてくれる方いますか?
446デフォルトの名無しさん (ワッチョイ 41a7-pY0b)
2020/04/24(金) 18:56:15.41ID:qZ8JT++I0 ダメだ
447デフォルトの名無しさん (アウアウエー Sa6a-0GGu)
2020/04/24(金) 20:50:16.80ID:h9xiDvvfa 例えばCの場合ポインタをfreeした後に再利用予定無いならそのポインタにNULL代入する意味は無いが
NULL代入する習慣があるようだけどC#のnullもそんな感じで代入してるんですか?
NULL代入する習慣があるようだけどC#のnullもそんな感じで代入してるんですか?
448デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/24(金) 20:53:13.33ID:agN2oJUo0 >>447
普通はnull代入なんてしない。ランタイムが勝手にやってくれる。
普通はnull代入なんてしない。ランタイムが勝手にやってくれる。
449デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/24(金) 20:53:48.09ID:agN2oJUo0 ランタイムが勝手にメモリ解放してくれる、ね。
450今度はビルドとはとか言い出すんだろうか? (ドコグロ MM40-f1XF)
2020/04/24(金) 21:04:37.09ID:5Yl2wSMPM451デフォルトの名無しさん (アウアウウー Sab5-BpYI)
2020/04/24(金) 21:09:13.94ID:hmKdXDZUa452デフォルトの名無しさん (ワッチョイ 66ad-rGdA)
2020/04/24(金) 21:11:07.55ID:agN2oJUo0 >>450
なにかおかしいかい?
なにかおかしいかい?
453今度はビルドとはとか言い出すんだろうか? (ドコグロ 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
どうすれば動くのでしょうか?
553デフォルトの名無しさん (アウアウウー Saab-iytM)
2020/04/29(水) 08:02:27.75ID:kQQTqavqa cef sharpとか初耳だわ
プレリリース版VSじゃないと対応してないとか?
プレリリース版VSじゃないと対応してないとか?
554デフォルトの名無しさん (ワッチョイ 877c-h6Le)
2020/04/29(水) 16:05:40.25ID:DmNhs8y10555デフォルトの名無しさん (ワッチョイ df02-h83k)
2020/04/29(水) 20:05:47.63ID:u+omc4b+0 今後業務用のWEBアプリを作るときはMVCとRazorPagesとBlazorだと皆さんはどれを選択しますか?
クラサバシステムのWEB化の話があるので今後どういう勉強をしておくか迷っています
(MVCやJSの開発経験はあり)
クラサバシステムのWEB化の話があるので今後どういう勉強をしておくか迷っています
(MVCやJSの開発経験はあり)
556デフォルトの名無しさん (ワッチョイ e701-WK8b)
2020/04/29(水) 20:10:06.56ID:3WB/6cAD0 OWIN?
557デフォルトの名無しさん (ワッチョイ df02-h83k)
2020/04/29(水) 20:34:00.93ID:u+omc4b+0558デフォルトの名無しさん (ワッチョイ e724-ts7H)
2020/04/29(水) 23:33:34.22ID:ZtFhb2uq0 ファイル圧縮解凍ライブラリについてなのですが、C#の場合はSharpCompressがベストなのでしょうか?
SevenZipSharpという7zipのラッパーもありこちらの方が良さそうかと思いきや、一見すると未完成なようにも見えますが
SevenZipSharpという7zipのラッパーもありこちらの方が良さそうかと思いきや、一見すると未完成なようにも見えますが
559デフォルトの名無しさん (ワッチョイ 6763-rsUV)
2020/04/30(木) 00:13:20.54ID:+bpYEB3E0 君の言うベストの要件は何?
System.IO.Compression.ZipFileで駄目なところは何?
System.IO.Compression.ZipFileで駄目なところは何?
560デフォルトの名無しさん (ワッチョイ ffeb-ts7H)
2020/04/30(木) 01:02:25.49ID:I9f6mjLE0 >>558
要件次第だけど、7z他多数のフォーマットに対応したいなら
Frost Moon Projectさんの、7-zip32.dll/7-zip64.dll/7z.dll文字化け対策版
これの7z.dll版がlzhやrar等に対応してる + 統合アーカイバプロジェクト系で自分は使いやすかった
SevenZipSharpも確か最初試したけど、普通に使えた気がする
要件次第だけど、7z他多数のフォーマットに対応したいなら
Frost Moon Projectさんの、7-zip32.dll/7-zip64.dll/7z.dll文字化け対策版
これの7z.dll版がlzhやrar等に対応してる + 統合アーカイバプロジェクト系で自分は使いやすかった
SevenZipSharpも確か最初試したけど、普通に使えた気がする
561552 (ワッチョイ c7da-ipCf)
2020/04/30(木) 01:36:48.27ID:cGNlLD3W0 https://github.com/cefsharp/CefSharp/issues/2796
の、kpreisser という人のやり方で出来ました。
の、kpreisser という人のやり方で出来ました。
562デフォルトの名無しさん (ワッチョイ a72c-XDUq)
2020/04/30(木) 06:38:09.52ID:y9JRI7g10 >>558
多分SharpCompressの方が機能は充実してる
SevenZipSharpはインメモリ内のマルチボリュームを解凍する術がないっぽかったから捨てた
まぁ一般的な使い方をする分には差はないんじゃないかな
大本の7z.dllは優秀だからパフォーマンスは後者の方が高いのかもしれないが
多分SharpCompressの方が機能は充実してる
SevenZipSharpはインメモリ内のマルチボリュームを解凍する術がないっぽかったから捨てた
まぁ一般的な使い方をする分には差はないんじゃないかな
大本の7z.dllは優秀だからパフォーマンスは後者の方が高いのかもしれないが
563デフォルトの名無しさん
2020/05/01(金) 10:47:14.24 SQL Serverとの連繋アプリを作るための参考書探してるんだが
VBのしか見つからないな これ買うしか無いか
WEB情報もVBのしか無いことあるが普通にC#でも使えるTIPS多いし
VBのしか見つからないな これ買うしか無いか
WEB情報もVBのしか無いことあるが普通にC#でも使えるTIPS多いし
564デフォルトの名無しさん (オッペケ Sr5b-fZS3)
2020/05/01(金) 10:49:28.34ID:KEKGQA87r むしろVBのがまだあるのか
565デフォルトの名無しさん (ワッチョイ dfad-3E9b)
2020/05/01(金) 11:09:25.56ID:IDkheS130 >>563
ググれば一発だし、ほぼリファレンスはC#やろ
ググれば一発だし、ほぼリファレンスはC#やろ
566デフォルトの名無しさん (アウアウエー Sa9f-ur4w)
2020/05/01(金) 11:26:57.11ID:k2YlXFh6a ggrks
567デフォルトの名無しさん (ワッチョイ e701-1QTE)
2020/05/02(土) 12:22:51.84ID:QOp3K9V60 100%このマシンでしか使わないという自作アプリが何個もあり、そのうちの大半が利用しているJson.NetやLog4NetなどのライブラリをLocal Copy = falseにして一か所のdllを使いまわしたいのですが
GACにインストールする以外の方法はないのでしょうか?
LoadLibrary+GetProcAddressを利用すれば可能なんだと思いますがその場合はVSのサポートを得られないですよね
GACにインストールする以外の方法はないのでしょうか?
LoadLibrary+GetProcAddressを利用すれば可能なんだと思いますがその場合はVSのサポートを得られないですよね
568デフォルトの名無しさん (スフッ Sdff-EwNI)
2020/05/02(土) 12:35:32.32ID:7zUXw5kNd569デフォルトの名無しさん (アウアウウー Saab-Ng5p)
2020/05/02(土) 13:09:17.01ID:TijFnmRAa >>567
今はコンテナでアプリにOSを丸ごとバンドルする時代ですよ
今はコンテナでアプリにOSを丸ごとバンドルする時代ですよ
570デフォルトの名無しさん (ワッチョイ df02-h83k)
2020/05/02(土) 13:10:08.32ID:8Sc54whm0 チンポリックインコを使えばいいね
571デフォルトの名無しさん (アウアウウー Saab-Ua06)
2020/05/02(土) 13:54:50.75ID:k5W2smL8a >>567
こんなの見つけた
https://www.atmarkit.co.jp/fdotnet/technology/idnfw11_03/idnfw11_03_05.html
やったことないので詳細は知らんけど
こんなの見つけた
https://www.atmarkit.co.jp/fdotnet/technology/idnfw11_03/idnfw11_03_05.html
やったことないので詳細は知らんけど
572デフォルトの名無しさん (ワッチョイ 67a7-enXe)
2020/05/02(土) 15:54:34.01ID:02dRNXb60 >>567
それって触らなくていいプログラムも共通部を触ったら全部更新必須だからね
その時、アレがないコレがない
別のdllがもうダウンロードできない
フレームワークのSDKを再インストールだ→エラーが出て動かない
動かない動かない
っていう地獄絵図しか見えないんだけど
経験浅いの?
それって触らなくていいプログラムも共通部を触ったら全部更新必須だからね
その時、アレがないコレがない
別のdllがもうダウンロードできない
フレームワークのSDKを再インストールだ→エラーが出て動かない
動かない動かない
っていう地獄絵図しか見えないんだけど
経験浅いの?
573デフォルトの名無しさん (ワッチョイ 67a7-enXe)
2020/05/02(土) 15:58:09.98ID:02dRNXb60 なんでもかんでも共通化したらいいってわけじゃないッスよ
関係ないモジュールは関係なくていいの
この自然体が理解できんうちはまだまだ
バナナが欲しかったのにゴリラと森まで付いてくるようなプログラム組んでんだろ?
関係ないモジュールは関係なくていいの
この自然体が理解できんうちはまだまだ
バナナが欲しかったのにゴリラと森まで付いてくるようなプログラム組んでんだろ?
574デフォルトの名無しさん (アウアウウー Saab-Ua06)
2020/05/02(土) 16:20:59.74ID:k5W2smL8a まあ変なこだわりは捨てて素直にサイドバイサイドにしとけよ、とは率直に思うねw
575デフォルトの名無しさん (ワッチョイ 8763-68pm)
2020/05/02(土) 16:21:26.07ID:3EN4KMOZ0 Windowsが25~15年前に通って盛大に失敗したあやまちだけど
人はまたそのあやまちをくり返そうとしているのか…
人はまたそのあやまちをくり返そうとしているのか…
576デフォルトの名無しさん (アウアウエー Sa9f-ur4w)
2020/05/03(日) 10:58:08.08ID:zajIy9nAa C#を使うともれなくWindowsが付いてきます
577デフォルトの名無しさん (ワッチョイ 0778-ts7H)
2020/05/03(日) 11:04:56.94ID:m1rOQWOt0 Windows以外のOSでも動くからそれは間違ってる
578デフォルトの名無しさん (アウアウエー Sa9f-ur4w)
2020/05/03(日) 11:47:56.93ID:zajIy9nAa Windows に WSL BOW 等があるように
C# にまるごと Windows が付いてくる訳じゃないのな?
C# にまるごと Windows が付いてくる訳じゃないのな?
579デフォルトの名無しさん (ワッチョイ dfad-3E9b)
2020/05/03(日) 14:41:41.12ID:O9QRGsEr0 >>576
何を言ってるんですか?
何を言ってるんですか?
580デフォルトの名無しさん (ワッチョイ 075f-MN6J)
2020/05/05(火) 03:04:26.70ID:ODFnlIPd0 >>552
プロジェクト内のファイル書き換えればいける
→https://github.com/cefsharp/CefSharp/issues/1714
もしくはプロジェクトの設定でAnyCPUじゃなくせばおk
プロジェクト内のファイル書き換えればいける
→https://github.com/cefsharp/CefSharp/issues/1714
もしくはプロジェクトの設定でAnyCPUじゃなくせばおk
581デフォルトの名無しさん (ワッチョイ 075f-LBUi)
2020/05/05(火) 07:23:25.99ID:AqRvYPWH0 【新型コロナ】富士フイルム、ゲイツ財団などからコロナ治療薬の製造受託
https://asahi.2ch.net/test/read.cgi/newsplus/1588319133/
c# プログラマ専用病院を作って、外から鍵かけて、理論的致死量の5倍ぐらい未承認治療薬を投与すれば開発速度が上がると思う。
コンピューターオタクに人権はないから、人権侵害にはならないし、c#プログラミングなんて 5ch とスタックオーバーフローを見れば誰でもできるから、プログラマ不足にもならない。
https://asahi.2ch.net/test/read.cgi/newsplus/1588319133/
c# プログラマ専用病院を作って、外から鍵かけて、理論的致死量の5倍ぐらい未承認治療薬を投与すれば開発速度が上がると思う。
コンピューターオタクに人権はないから、人権侵害にはならないし、c#プログラミングなんて 5ch とスタックオーバーフローを見れば誰でもできるから、プログラマ不足にもならない。
582デフォルトの名無しさん (ワッチョイ 2301-jgrQ)
2020/05/12(火) 00:36:35.47ID:xM8JclQ70 ttps://qiita.com/satorimon/items/5d2e6db7fe938fee958c
C#でこのページを参考にしたコードを書いているのですが、
var squares = contours.Where(a =>
{・・・})
のところの記述の意味がよくわかりません
中で宣言やらreturnやらしていて何がなんだか・・・でもビルドすると正常に動いてます
Whereで調べてもこのような構文での使い方が出てこなくて困っています
C#でこのページを参考にしたコードを書いているのですが、
var squares = contours.Where(a =>
{・・・})
のところの記述の意味がよくわかりません
中で宣言やらreturnやらしていて何がなんだか・・・でもビルドすると正常に動いてます
Whereで調べてもこのような構文での使い方が出てこなくて困っています
583デフォルトの名無しさん (ササクッテロレ Sp33-wEAr)
2020/05/12(火) 00:42:27.10ID:oML3x0+6p >>582
ただの無名関数にしか見えないが...
ただの無名関数にしか見えないが...
584デフォルトの名無しさん (ワッチョイ 6a02-gIrT)
2020/05/12(火) 00:43:24.46ID:SOptQxct0 LINQというものです
585デフォルトの名無しさん (ワッチョイ 5b2d-C0uG)
2020/05/12(火) 00:44:45.73ID:Rm1nFE+i0586デフォルトの名無しさん (ワッチョイ 2a01-Yqly)
2020/05/12(火) 00:57:05.47ID:rr7jvTFY0 Whereで調べても使い方出てくるよ
IEnumerable<string> query = fruits.Where(fruit => fruit.Length < 6);
https://docs.microsoft.com/en-us/dotnet/api/system.linq.enumerable.where?view=netcore-3.1
ただリファレンスにあるWhereメソッドのシグニチャを
初心者が理解できるようになるまでの道のりは結構長いな
public static IEnumerable<TSource> Where<TSource> (this IEnumerable<TSource> source, Func<TSource,bool> predicate);
IEnumerable<string> query = fruits.Where(fruit => fruit.Length < 6);
https://docs.microsoft.com/en-us/dotnet/api/system.linq.enumerable.where?view=netcore-3.1
ただリファレンスにあるWhereメソッドのシグニチャを
初心者が理解できるようになるまでの道のりは結構長いな
public static IEnumerable<TSource> Where<TSource> (this IEnumerable<TSource> source, Func<TSource,bool> predicate);
587デフォルトの名無しさん (アウアウエー Sae2-oySJ)
2020/05/12(火) 01:39:09.58ID:zR/fg8GXa 親クラスを参照する方法はありますでしょうか。
Javaで書くなら以下のイメージとなります。
class A {
int val;
class B {
void Method() {
A.this.val; // ここで親クラスを参照したい
}
}
}
Javaで書くなら以下のイメージとなります。
class A {
int val;
class B {
void Method() {
A.this.val; // ここで親クラスを参照したい
}
}
}
588デフォルトの名無しさん (ワッチョイ 2301-oySJ)
2020/05/12(火) 01:41:52.90ID:xM8JclQ70 >>582です
理解出来ましたありがとうございます!
理解出来ましたありがとうございます!
589デフォルトの名無しさん (ワッチョイ 5b2c-1Non)
2020/05/12(火) 01:47:51.53ID:ApYFe+qM0590デフォルトの名無しさん (アウアウウー Sa1f-OGoq)
2020/05/12(火) 01:54:35.84ID:DaJUnBm/a591デフォルトの名無しさん (アウアウエー Sae2-oySJ)
2020/05/12(火) 01:59:01.93ID:zR/fg8GXa >>589-590
ありがとうございます
ありがとうございます
592デフォルトの名無しさん (ワッチョイ 5b01-gIrT)
2020/05/12(火) 22:22:13.93ID:/QEFAV670 参照型の変数ってないんですか?
int c = Properties.Settings.Default.Counter
みたいにエイリアスっぽく使いたいのですが、何かいい方法あるでしょか
int c = Properties.Settings.Default.Counter
みたいにエイリアスっぽく使いたいのですが、何かいい方法あるでしょか
593デフォルトの名無しさん (ワッチョイ be7b-nLaH)
2020/05/12(火) 22:35:54.36ID:Qqvr4tTg0594デフォルトの名無しさん (ワッチョイ 5b2c-1Non)
2020/05/12(火) 22:41:58.71ID:ApYFe+qM0 エイリアスっていうからC++でいうところのT&型かと思ったけど違うのか?
C#で「参照型の変数」って普通のstring text;とかDataTable table;とかになるけど
C#で「参照型の変数」って普通のstring text;とかDataTable table;とかになるけど
595デフォルトの名無しさん (ワッチョイ 6a6a-oySJ)
2020/05/12(火) 23:23:20.17ID:qR+vLqM00 ref のことじゃね?
ref var x = ref Xxxxx;
ref var x = ref Xxxxx;
596デフォルトの名無しさん (ワッチョイ 532f-EoUu)
2020/05/13(水) 00:03:03.61ID:J5ZD6qBk0 int? のことじゃね?
597デフォルトの名無しさん (ワッチョイ 43da-32x/)
2020/05/13(水) 00:12:10.85ID:OFLzozUz0 ポインタで全て解決
598デフォルトの名無しさん (ワッチョイ 6d2d-imz8)
2020/05/13(水) 00:15:30.74ID:7szTGv5D0 >>596
それはボケ?
それはボケ?
599デフォルトの名無しさん (ワッチョイ c342-M5Di)
2020/05/13(水) 00:30:19.64ID:NaKv0jEn0600デフォルトの名無しさん (ワッチョイ ff01-vB/y)
2020/05/13(水) 00:36:24.06ID:WBibu7Ic0 using Counter = Properties.Settings.Default.Counter;
601デフォルトの名無しさん (ワッチョイ 4da7-071a)
2020/05/13(水) 01:04:23.01ID:9AF39pvJ0 ポインタが欲しいんだろ
class valInt{
public int val;
}
class valStr{
public string val;
}
って作っとけば?
普段は全く必要ないのに
リフレクション使うとき滅茶苦茶必要になったわ
class valInt{
public int val;
}
class valStr{
public string val;
}
って作っとけば?
普段は全く必要ないのに
リフレクション使うとき滅茶苦茶必要になったわ
602デフォルトの名無しさん (ワッチョイ d159-nTbr)
2020/05/13(水) 01:11:53.36ID:HB9dDlz00 質問失礼致します。
list1にはboolが3つ入っています。
list2はクラスが3つ入ったリストで、そのクラスにはpublic bool flagが宣言されています。
両方falseの番号が見つかるまで繰り返したいです。
public int Check(){
int x = list1.IndexOf(false);
while (list2[x].flag == true){
x = list1.IndexOf(false, x +1)
}
return x;
}
このコードを書いたのですが、
list2[x].flagが3つ全てtrueだった場合にx+1が範囲外になってエラーが出ていると思われます。
条件に合う物が見つからない時にも何か(-1とか)返せる様にすれば良いのかもしれませんが、どうすればいいのかまったくわかりません。。
どうかヒントだけでも教えて下さい、、
よろしくお願いします。
list1にはboolが3つ入っています。
list2はクラスが3つ入ったリストで、そのクラスにはpublic bool flagが宣言されています。
両方falseの番号が見つかるまで繰り返したいです。
public int Check(){
int x = list1.IndexOf(false);
while (list2[x].flag == true){
x = list1.IndexOf(false, x +1)
}
return x;
}
このコードを書いたのですが、
list2[x].flagが3つ全てtrueだった場合にx+1が範囲外になってエラーが出ていると思われます。
条件に合う物が見つからない時にも何か(-1とか)返せる様にすれば良いのかもしれませんが、どうすればいいのかまったくわかりません。。
どうかヒントだけでも教えて下さい、、
よろしくお願いします。
603デフォルトの名無しさん (ワッチョイ d159-nTbr)
2020/05/13(水) 01:17:14.99ID:HB9dDlz00 書き込んだあとに気付いたのですが、もしかしてwhileの中のxはforと違って繰り返すたびに更新されないのでしょうか?
604デフォルトの名無しさん (アウアウウー Sa31-L7FI)
2020/05/13(水) 01:32:42.10ID:RZkyIb9Ia >>602
何で素直にforでスキャンしないの?
コードを書く前に、まずそれを自分が手動で行う場合の手順を日本語で明確に表現しましょう。
次にそれをコードに変換する。
インデックスを0, 1, 2と増加させて、両方falseならその時のインデックスを返すんでしょ?
何でそれを素直にコードにしないの
何で素直にforでスキャンしないの?
コードを書く前に、まずそれを自分が手動で行う場合の手順を日本語で明確に表現しましょう。
次にそれをコードに変換する。
インデックスを0, 1, 2と増加させて、両方falseならその時のインデックスを返すんでしょ?
何でそれを素直にコードにしないの
605デフォルトの名無しさん (ワッチョイ d159-nTbr)
2020/05/13(水) 01:37:13.82ID:HB9dDlz00 >>604
すみません、2日間上手く行ってなくて最初はforで試行錯誤してたんですけど何回も調べて書き直してってやってる間になにがなんだかわからなくなってしまいました。。
もう一度forでやってみます!
すみません、2日間上手く行ってなくて最初はforで試行錯誤してたんですけど何回も調べて書き直してってやってる間になにがなんだかわからなくなってしまいました。。
もう一度forでやってみます!
606デフォルトの名無しさん (ワッチョイ 4124-/iGY)
2020/05/13(水) 08:02:36.01ID:9jM9qfYw0 >>605
プログラミング自体初心者だと思うけど基本的にwhileは使わないほうが良いよ(ちょっとしたミスで無限ループに陥ってフリーズする等バグの温床になる)
あとlist2に入ってるクラスをboolフィールドもう一つ拡張してlist2だけで運用できない?
一応既存の場合ならこういうコードでいい
for (int i = 0; i < list2.Count; i++) //list2を中心に回す
{
if (i >= list1.Count) break; //list1が範囲外になったらforを抜ける
if (!list1[i] && !list2[i].flag) return i; //両方falseならインデックスを返す
}
return -1; //全て探し終えてもfalse && falseが見つからなかったらここに到達してreturn -1
プログラミング自体初心者だと思うけど基本的にwhileは使わないほうが良いよ(ちょっとしたミスで無限ループに陥ってフリーズする等バグの温床になる)
あとlist2に入ってるクラスをboolフィールドもう一つ拡張してlist2だけで運用できない?
一応既存の場合ならこういうコードでいい
for (int i = 0; i < list2.Count; i++) //list2を中心に回す
{
if (i >= list1.Count) break; //list1が範囲外になったらforを抜ける
if (!list1[i] && !list2[i].flag) return i; //両方falseならインデックスを返す
}
return -1; //全て探し終えてもfalse && falseが見つからなかったらここに到達してreturn -1
607デフォルトの名無しさん (アウアウウー Sa1d-/iGY)
2020/05/13(水) 09:30:48.50ID:RdUH2aEBa > whileは使わない方が良いよ
それは同意しない
その程度でバグを起こすようなレベルなら何使おうがどうせまともに動くわけない
forをはじめとした、より抽象度の高い他の機能によって自然に代替できるケースにおいてはwhileより他を好むべきだとは思うが、
whileの方が自然なケースってのは存在する
それは同意しない
その程度でバグを起こすようなレベルなら何使おうがどうせまともに動くわけない
forをはじめとした、より抽象度の高い他の機能によって自然に代替できるケースにおいてはwhileより他を好むべきだとは思うが、
whileの方が自然なケースってのは存在する
608デフォルトの名無しさん (ワッチョイ d159-nTbr)
2020/05/13(水) 09:31:40.13ID:HB9dDlz00 >>606
おはようございます。
丁寧な回答ありがとうございます。
仰る通りプログラム自体初心者です。。
一応あの後、
int index = -1;
for(int i =0; i < list1.Count; i++){
if(list1[i] == false && list2[i].flag == false){
index = i;
return index;
}
return index;
}
という風にやってみました。
合っているかわかりませんが、、一応動作しています。
breakで抜ける方法なども想像すらしてなかったので大変勉強になりました。
教えて頂いたコードの方がが安全そうなので参考にして書き直してみます!
本当にありがとうございました!
おはようございます。
丁寧な回答ありがとうございます。
仰る通りプログラム自体初心者です。。
一応あの後、
int index = -1;
for(int i =0; i < list1.Count; i++){
if(list1[i] == false && list2[i].flag == false){
index = i;
return index;
}
return index;
}
という風にやってみました。
合っているかわかりませんが、、一応動作しています。
breakで抜ける方法なども想像すらしてなかったので大変勉強になりました。
教えて頂いたコードの方がが安全そうなので参考にして書き直してみます!
本当にありがとうございました!
609デフォルトの名無しさん (ワッチョイ d159-nTbr)
2020/05/13(水) 10:00:08.37ID:HB9dDlz00610デフォルトの名無しさん (ワッチョイ 2b01-32x/)
2020/05/13(水) 10:20:12.64ID:tJ/HyvQb0611デフォルトの名無しさん (ワッチョイ 2b01-32x/)
2020/05/13(水) 10:25:24.49ID:tJ/HyvQb0612デフォルトの名無しさん (ワッチョイ 4da7-071a)
2020/05/13(水) 11:51:27.79ID:9AF39pvJ0 >>611
だから、クラスでラップするとかしないとポインタっぽいことできないんだってばこの言語
だから、クラスでラップするとかしないとポインタっぽいことできないんだってばこの言語
613デフォルトの名無しさん (アウアウウー Sa31-L7FI)
2020/05/13(水) 12:42:25.67ID:KNUhyNjza 別にエイリアスじゃなくて一時変数でいいじゃん
int hoge = Foo.HogeHageDebuBaka;
書き換えないならそもそもエイリアスである必要がないし、
書き換える必要がある場合もほとんどのケースは一時変数に対する変更を最後に一か所で
元のフィールドなりプロパティーに書き戻すだけで済むと思うんだけど違うのかな。
int hoge = Foo.HogeHageDebuBaka;
書き換えないならそもそもエイリアスである必要がないし、
書き換える必要がある場合もほとんどのケースは一時変数に対する変更を最後に一か所で
元のフィールドなりプロパティーに書き戻すだけで済むと思うんだけど違うのかな。
614デフォルトの名無しさん (ワッチョイ 179b-Tl4l)
2020/05/13(水) 12:46:03.36ID:0MZWSb+/0 単にマクロ的に短く記述したいってことなら使用先のcsファイルの一番上にこれ書いとけばいい
using static c = Properties.Settings.Default.Counter;
using static c = Properties.Settings.Default.Counter;
615デフォルトの名無しさん (アウアウエー Sa93-ahgx)
2020/05/13(水) 13:28:16.32ID:w7cEJ83Ea Console.Out にデータを書く A.exe (ソース A.cs がある) と
Console.In からデータを読み込む B.exe があるとき
A | B
で B.exe 側で A.exe が書いたデータを取り出せるところまでは確認しました
そこで A.exe の中から
ProcessStartInfo psi = new ProcessStartInfo(){
FileName="B.exe", Arguments="", RedirectStandardInput=true,
RedirectStandardOutput=false, RedirectStandardError=false,
UseShellExecute=false, CreateNoWindow=true, ErrorDialog=false};
Process p = Process.Start(psi);
Console.WriteLine("test");
// p.WaitForExit();
// p.Close();
とすると
>error: ファイルを格納しているボリュームが外部的に変更されたため、開かれているファイルが無効になりました。
というエラーが出てしまいます。
Console.WriteLine("test"); のところを p.StandardInput.WriteLine("test");
にすれば書き込めるらしいのですが出来れば A.cs の変更を極力したくないです
あと
Console.Out.WriteLine("test"); もダメでした
RedirectStandardInput=false, もだめでした
何か使い方間違ってますか?
Console.In からデータを読み込む B.exe があるとき
A | B
で B.exe 側で A.exe が書いたデータを取り出せるところまでは確認しました
そこで A.exe の中から
ProcessStartInfo psi = new ProcessStartInfo(){
FileName="B.exe", Arguments="", RedirectStandardInput=true,
RedirectStandardOutput=false, RedirectStandardError=false,
UseShellExecute=false, CreateNoWindow=true, ErrorDialog=false};
Process p = Process.Start(psi);
Console.WriteLine("test");
// p.WaitForExit();
// p.Close();
とすると
>error: ファイルを格納しているボリュームが外部的に変更されたため、開かれているファイルが無効になりました。
というエラーが出てしまいます。
Console.WriteLine("test"); のところを p.StandardInput.WriteLine("test");
にすれば書き込めるらしいのですが出来れば A.cs の変更を極力したくないです
あと
Console.Out.WriteLine("test"); もダメでした
RedirectStandardInput=false, もだめでした
何か使い方間違ってますか?
616デフォルトの名無しさん (JP 0H13-2td9)
2020/05/13(水) 13:30:17.94ID:9ouyGW4jH IT掲示板群 ttp://x0000.net/forum.aspx?id=15
学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
617デフォルトの名無しさん (ブーイモ MM5b-26de)
2020/05/13(水) 13:49:55.90ID:uqtilrQeM >>615
var tmp = Console.Out;
try {
var p = Process.Start(psi);
Console.SetOut(p.StandardInput);
Console.WriteLine("hoge");
p.WaitForExit();
}
finally {
Console.SetOut(tmp);
}
var tmp = Console.Out;
try {
var p = Process.Start(psi);
Console.SetOut(p.StandardInput);
Console.WriteLine("hoge");
p.WaitForExit();
}
finally {
Console.SetOut(tmp);
}
618デフォルトの名無しさん (ワッチョイ 2b01-32x/)
2020/05/13(水) 16:30:12.93ID:tJ/HyvQb0619デフォルトの名無しさん (ワッチョイ 4124-/iGY)
2020/05/13(水) 16:42:19.79ID:9jM9qfYw0 ポインタは使えるけどC++と違ってstaticなオブジェクトですらガベコレによってアドレス変わる可能性が常にあるから
長寿命なポインタというのは自前でガベコレ管轄外のアンマネージドメモリを確保しない限り成立しない
長寿命なポインタというのは自前でガベコレ管轄外のアンマネージドメモリを確保しない限り成立しない
620デフォルトの名無しさん (ワッチョイ 5b84-57Gp)
2020/05/13(水) 17:08:14.26ID:D3xPcSfY0 >>602
whileのロジックが足りない
while((x != -1 && x < list1.Count) && list2[x].flag)
にするとlist1の要素超えなくて見つからないと「-1」が返ると思うよ
whileのロジックが足りない
while((x != -1 && x < list1.Count) && list2[x].flag)
にするとlist1の要素超えなくて見つからないと「-1」が返ると思うよ
621デフォルトの名無しさん (ワッチョイ 5b84-57Gp)
2020/05/13(水) 17:24:13.51ID:D3xPcSfY0622デフォルトの名無しさん (ワッチョイ 7f2c-JcAG)
2020/05/13(水) 17:39:16.20ID:VSt/R8YQ0 Ruby では普通に、print, puts メソッドで出力したら、
標準出力・$stdout に出力される
どこに出力するかなど、考えたこともない
標準出力・$stdout に出力される
どこに出力するかなど、考えたこともない
623デフォルトの名無しさん (ワッチョイ 115f-hrec)
2020/05/13(水) 17:51:43.48ID:48KyBdoc0 >>622
相変わらずバカだね
相変わらずバカだね
624622 (ワッチョイ 7f2c-JcAG)
2020/05/13(水) 18:25:56.36ID:VSt/R8YQ0 標準出力以外を使う場合は、標準エラーに出力する時だけ。
標準出力なら、パイプ・ファイルへのリダイレクトも使える
a.rb | b.rb パイプ
a.rb > b.rb 上書き
a.rb >> b.rb 追記
標準出力なら、パイプ・ファイルへのリダイレクトも使える
a.rb | b.rb パイプ
a.rb > b.rb 上書き
a.rb >> b.rb 追記
625デフォルトの名無しさん (ワッチョイ 2b01-32x/)
2020/05/13(水) 19:32:00.52ID:tJ/HyvQb0 >>619
なるほどね、実質ポインタは使い物にならないね、何が出てくるかわからないとか
なるほどね、実質ポインタは使い物にならないね、何が出てくるかわからないとか
626デフォルトの名無しさん (ワッチョイ ff01-vB/y)
2020/05/13(水) 20:56:37.22ID:WBibu7Ic0627デフォルトの名無しさん (ワッチョイ 4124-/iGY)
2020/05/13(水) 21:18:36.78ID:9jM9qfYw0 >>625
ローカル値型変数ならその関数抜けるまではスタック上にあることが保証されるからその関数内限定でCと同じように扱える
バイト配列等参照型もfixed (byte* ptr = &bytes[0]) {}と囲っている間はガベコレにアドレス移動させない通知を出せばそのスコープ間では扱える
ポインタフィールドを持たせたいとかになるとさっき言ったようなアンマネージドメモリを利用するしかないのでC#では実質不可能になってくる
ローカル値型変数ならその関数抜けるまではスタック上にあることが保証されるからその関数内限定でCと同じように扱える
バイト配列等参照型もfixed (byte* ptr = &bytes[0]) {}と囲っている間はガベコレにアドレス移動させない通知を出せばそのスコープ間では扱える
ポインタフィールドを持たせたいとかになるとさっき言ったようなアンマネージドメモリを利用するしかないのでC#では実質不可能になってくる
628デフォルトの名無しさん (ササクッテロレ Sp63-5XO3)
2020/05/14(木) 02:19:30.95ID:2LmxtE+Tp C#に、lispでいうmapcar関数のようなものはありますか?
629デフォルトの名無しさん (ワッチョイ ff01-vB/y)
2020/05/14(木) 03:11:58.67ID:HxdbbI2M0 >>628
Enumerable.Select()
Enumerable.Select()
630デフォルトの名無しさん (オッペケ Sr93-5iCk)
2020/05/14(木) 10:45:17.58ID:n+ookAJTr c#頑張ってきたのでc++ちょっとかじって浮気してきまっす!
挫折したら秒で戻ってきまっす!
挫折したら秒で戻ってきまっす!
631デフォルトの名無しさん (ワッチョイ 5902-gIXh)
2020/05/14(木) 11:26:58.59ID:ztWr1bjJ0 目的がかなり違う言語だから気をつけなされ
632622 (ワッチョイ 7f2c-JcAG)
2020/05/14(木) 14:04:08.71ID:FSEZeoAj0 >>626
Ruby では、`コマンド`、system(コマンド)などは同期処理だけど、
spawn は非同期だから、すぐに子プロセスのPID が返ってくる
だから、Process.waitpid で、子プロセスの終了を待ち合せる必要がある
p pid = spawn('uname') #=> 1142
Process.waitpid pid
出力
Linux
Ruby では、`コマンド`、system(コマンド)などは同期処理だけど、
spawn は非同期だから、すぐに子プロセスのPID が返ってくる
だから、Process.waitpid で、子プロセスの終了を待ち合せる必要がある
p pid = spawn('uname') #=> 1142
Process.waitpid pid
出力
Linux
633デフォルトの名無しさん (アウアウウー Sa31-7tKh)
2020/05/14(木) 14:53:15.52ID:0DpJdKOEa List<string>をfor文中で繰り返し初期化して使用したいのですが、
List<string> 変数 = new List<string>()
で出来ますか?
それともfor文の最後でclearしないといけませんか?
ネットにソースが見当たらないので質問しました。ソースもあるよという方はその内容も教えていただきたく。
お願いいたします。
List<string> 変数 = new List<string>()
で出来ますか?
それともfor文の最後でclearしないといけませんか?
ネットにソースが見当たらないので質問しました。ソースもあるよという方はその内容も教えていただきたく。
お願いいたします。
634デフォルトの名無しさん (ワッチョイ 4124-gIXh)
2020/05/14(木) 15:31:14.00ID:0NVqPTt90 forの中でList<string> 変数 = new List<string>()とループ毎に確保しているのなら終わり際にClearは書かなくていい
文字通りnewだからね
ただパフォーマンス的にはforの前で作ったリストをループ中の最後にClear()して使いまわす方が若干効率は良くなる
一般的な用途であれば差にもならない差だから前者で良いけど
文字通りnewだからね
ただパフォーマンス的にはforの前で作ったリストをループ中の最後にClear()して使いまわす方が若干効率は良くなる
一般的な用途であれば差にもならない差だから前者で良いけど
635デフォルトの名無しさん (アウアウウー Sa31-7tKh)
2020/05/14(木) 16:08:02.92ID:0DpJdKOEa >>634
なるほど、ありがとうございます。
なるほど、ありがとうございます。
636デフォルトの名無しさん (ワッチョイ 5fb2-mth5)
2020/05/14(木) 16:24:15.76ID:oGs32I5W0 >>630
おかえり
おかえり
637デフォルトの名無しさん (ワッチョイ 5fb2-mth5)
2020/05/14(木) 16:24:31.04ID:oGs32I5W0 >>632
さよなら
さよなら
638デフォルトの名無しさん (ワッチョイ 5fb2-mth5)
2020/05/14(木) 16:25:38.87ID:oGs32I5W0 >>635
clearいれるだけ処理遅くなるぞ。不要や
clearいれるだけ処理遅くなるぞ。不要や
639デフォルトの名無しさん (ワッチョイ 5fb2-mth5)
2020/05/14(木) 16:26:53.55ID:oGs32I5W0 >>635
C#にはGC機能があるから
C#にはGC機能があるから
640デフォルトの名無しさん (ワッチョイ 2b01-32x/)
2020/05/14(木) 16:40:09.33ID:IzazKMsN0641デフォルトの名無しさん (アウアウウー Sa31-7tKh)
2020/05/14(木) 16:56:49.51ID:0DpJdKOEa >>639
GC機能ってfor文だけでは機能しないと思っていたんですが、初期化時点で古いのは解放されると思っていいんでしょうか?
GC機能ってfor文だけでは機能しないと思っていたんですが、初期化時点で古いのは解放されると思っていいんでしょうか?
642デフォルトの名無しさん (ワッチョイ 9f9e-X6oS)
2020/05/14(木) 17:09:46.09ID:IJMYY1560 >>638
ここは初心者が回答してみるスレじゃないぞw
ここは初心者が回答してみるスレじゃないぞw
643デフォルトの名無しさん (ワッチョイ 5fb2-mth5)
2020/05/14(木) 17:11:23.42ID:oGs32I5W0 >>642
はあ?ループ中のリスト毎回clearするなんてアホなコードお前しか書かないだろw
はあ?ループ中のリスト毎回clearするなんてアホなコードお前しか書かないだろw
644デフォルトの名無しさん (ワッチョイ eb36-5iCk)
2020/05/14(木) 17:17:42.65ID:PBygD1y70 それは言えてるな
645デフォルトの名無しさん (ワッチョイ 4124-gIXh)
2020/05/14(木) 17:23:39.55ID:0NVqPTt90 ListのClearは内部バッファの中身をデフォルトクリアしてCount = 0とするだけであってバッファのキャパ自体はそのまま
Clear後に利用する際にそのListインスタンスのキャパ以下の利用であれば内部でbuffer = new T[capacity]みたいな処理が走らないから効率化される可能性があるという話
一般的なプログラマであればこのようなことを考える意味は皆無なのでnewし直すが正解で良い
Clear後に利用する際にそのListインスタンスのキャパ以下の利用であれば内部でbuffer = new T[capacity]みたいな処理が走らないから効率化される可能性があるという話
一般的なプログラマであればこのようなことを考える意味は皆無なのでnewし直すが正解で良い
646デフォルトの名無しさん (ワッチョイ 9f9e-X6oS)
2020/05/14(木) 17:30:23.16ID:IJMYY1560 笑えるwww
今度からいちいちnewしてる馬鹿いたら、
あーこいつは初心者が回答してみるスレの住人だと分かっていいなw
今度からいちいちnewしてる馬鹿いたら、
あーこいつは初心者が回答してみるスレの住人だと分かっていいなw
647デフォルトの名無しさん (アウアウウー Sa31-7tKh)
2020/05/14(木) 17:32:02.50ID:0DpJdKOEa >>645
承知しました。
承知しました。
648デフォルトの名無しさん (ブーイモ MM81-mth5)
2020/05/14(木) 17:36:51.73ID:5fNjH7LKM >>646
恥ずかしい奴
恥ずかしい奴
649デフォルトの名無しさん (ワッチョイ 9f9e-X6oS)
2020/05/14(木) 17:41:31.72ID:IJMYY1560 >>648 ←ループの中でいちいちnewしてたnewtype発見w 初心者スレおもしれーwww
650デフォルトの名無しさん (ワッチョイ ff01-vB/y)
2020/05/14(木) 17:45:22.91ID:HxdbbI2M0651デフォルトの名無しさん (ワッチョイ 977b-p2MU)
2020/05/14(木) 17:49:33.37ID:OtqKph2Y0 たまに勘違いしている人がいるみたいだが、このスレは「初心者用」のスレだから
質問者も回答者も「初心者」だよ
>>650
条件が詳しく書いてないんだから「場合によって使い分ける」
このスレでは「問題なく動けばいい」
質問者も回答者も「初心者」だよ
>>650
条件が詳しく書いてないんだから「場合によって使い分ける」
このスレでは「問題なく動けばいい」
652デフォルトの名無しさん (ワッチョイ eb36-5iCk)
2020/05/14(木) 17:56:08.67ID:PBygD1y70 まあ、newし直すのは意味はあるけど、
気になるのは同じ変数名を使い回してないかってことくらいやな
まあ、自分だけのコードなら好きにすればとしか
気になるのは同じ変数名を使い回してないかってことくらいやな
まあ、自分だけのコードなら好きにすればとしか
653デフォルトの名無しさん (ワッチョイ 9f9e-X6oS)
2020/05/14(木) 17:59:19.41ID:IJMYY1560 そういや初期のjavaの実装がそうだったなw 全部new。 糞おせーw
C#を実装したのがおまえらじゃなくてfastcall使いまくるヘジで助かったぜ。
C#を実装したのがおまえらじゃなくてfastcall使いまくるヘジで助かったぜ。
654デフォルトの名無しさん (ワッチョイ 5fb2-mth5)
2020/05/14(木) 19:05:04.03ID:oGs32I5W0 ID:IJMYY1560
今日の基地外
今日の基地外
655デフォルトの名無しさん (ブーイモ MM81-mth5)
2020/05/14(木) 19:06:50.12ID:5fNjH7LKM >>653
違うだろ?「勉強になりました。」と素直に謝ればOK
違うだろ?「勉強になりました。」と素直に謝ればOK
656デフォルトの名無しさん (ワッチョイ 9f9e-X6oS)
2020/05/14(木) 20:07:00.35ID:IJMYY1560 なんだもう自演煽りしかできないのか。情けない。
逐一newがいかに速いか知ったかして語ればいいのにw もっと初心者スレらしくアホを晒せw
逐一newがいかに速いか知ったかして語ればいいのにw もっと初心者スレらしくアホを晒せw
657デフォルトの名無しさん (ブーイモ MM81-mth5)
2020/05/14(木) 20:31:18.28ID:5fNjH7LKM >>656
違うだろ?「勉強になりました。」と素直に謝ればOK
違うだろ?「勉強になりました。」と素直に謝ればOK
658デフォルトの名無しさん (ワッチョイ 5fb2-mth5)
2020/05/14(木) 23:37:20.23ID:oGs32I5W0 >>656
こーゆうレガシーな情報をアップデート出来ない老害コーダーがスコープとか意識出来ずにスパゲッティコード量産していくんだろうな。
こーゆうレガシーな情報をアップデート出来ない老害コーダーがスコープとか意識出来ずにスパゲッティコード量産していくんだろうな。
659デフォルトの名無しさん (ワッチョイ d379-gIXh)
2020/05/14(木) 23:59:13.36ID:IXDIM6PP0 List<string> 変数 = new List<string>();
for(;;){
// 処理
変数.Clear();
}
for(;;){
List<string> 変数 = new List<string>();
// 処理
}
これで言い争い?
for(;;){
// 処理
変数.Clear();
}
for(;;){
List<string> 変数 = new List<string>();
// 処理
}
これで言い争い?
660デフォルトの名無しさん (ワッチョイ cf61-gjhq)
2020/05/15(金) 00:33:19.38ID:mc9+JSH60 さうです。
661デフォルトの名無しさん (ワッチョイ 9f9e-X6oS)
2020/05/15(金) 06:10:46.00ID:QqRlTuRs0 言い争いなんか誰もしてません。ここは無知無双を観察するスレです。
clear()は遅いですw スパゲッティになるので逐一newしてますw java思想は正しいですw ヘジは老害コーダーですってwww
clear()は遅いですw スパゲッティになるので逐一newしてますw java思想は正しいですw ヘジは老害コーダーですってwww
662デフォルトの名無しさん (ワッチョイ df6a-X4oJ)
2020/05/15(金) 08:09:40.93ID:mZ/V4tLT0 上でも書かれてるけどClearってcount=0にしてるだけだろ?
663デフォルトの名無しさん (アウアウウー Saaf-Wcp/)
2020/05/15(金) 08:38:30.68ID:4F5qAPuFa 怪しい時には実装にあたったほうがいいよ
https://referencesource.microsoft.com/#mscorlib/system/collections/generic/list.cs,ca7bce81a50b0aeb,references
count=0だけじゃなくて配列の個々の値も初期値に戻してる
まあそれでも_sizeがかなり大きくない限りは参照型のインスタンスを都度生成して生成してヒープに置くよりローコストだと思うけど
https://referencesource.microsoft.com/#mscorlib/system/collections/generic/list.cs,ca7bce81a50b0aeb,references
count=0だけじゃなくて配列の個々の値も初期値に戻してる
まあそれでも_sizeがかなり大きくない限りは参照型のインスタンスを都度生成して生成してヒープに置くよりローコストだと思うけど
664デフォルトの名無しさん (ワッチョイ 4f63-4oRg)
2020/05/15(金) 09:26:05.88ID:EzimMGOi0 争いと表現するのもおこがましさを感じる低次元さ
665デフォルトの名無しさん (ワッチョイ 9f9e-X6oS)
2020/05/15(金) 10:16:11.77ID:QqRlTuRs0 若者の夢は壊しちゃダメですよ。プライドはとても高いんですから。
あっ、老害コーダヘジのおれが考える現代風コンパイラのデータ構造の再利用実装についての動画を置いときますねw
https://channel9.msdn.com/Blogs/Seth-Juarez/Anders-Hejlsberg-on-Modern-Compiler-Construction
あっ、老害コーダヘジのおれが考える現代風コンパイラのデータ構造の再利用実装についての動画を置いときますねw
https://channel9.msdn.com/Blogs/Seth-Juarez/Anders-Hejlsberg-on-Modern-Compiler-Construction
666デフォルトの名無しさん (ワッチョイ 0b90-gsGE)
2020/05/15(金) 10:43:10.78ID:0cESgAsr0 議論でとりあえず有名人の名前出したり話すれば、有利になると思ってる単細胞な発想はやめよう
667デフォルトの名無しさん (ワッチョイ 3fac-5iCk)
2020/05/15(金) 11:04:04.35ID:SPdgeRtp0 そろそろ誰かが比較出してくれるんじゃね
それで決着だろ
それで決着だろ
668デフォルトの名無しさん (ドコグロ MM4b-cWUa)
2020/05/15(金) 11:13:54.66ID:/Y86RUc5M >>659
俺なら上を採用する場合一回分無駄になるけどループの先頭(可能であれば使う直前)にClear()を呼ぶ
俺なら上を採用する場合一回分無駄になるけどループの先頭(可能であれば使う直前)にClear()を呼ぶ
669デフォルトの名無しさん (ワッチョイ 459b-gIXh)
2020/05/15(金) 13:18:50.33ID:+lfXgI6Y0 名前、年齢、部署を表示するListViewで、マウスを当てるとポップアップ表示されるように
したく、以下のようにコーディングしました
ListViewItem lList = new ListViewItem(name);
List.ToolTipText = name //ツールチップの設定
ListViewItem.ListViewSubItem lvs = UrlList.SubItems.Add(age);
lvs.Tag = txtSearchWord.Text; //ツールチップの設定
ListViewItem.ListViewSubItem lvs = UrlList.SubItems.Add(section);
lvs.Tag = txtSearchWord.Text; //ツールチップの設定
一応これでポップアップするようになったのですが、位置がリストの表示位置と
離れすぎているのでもう少し「リストの文字に覆いかぶさるように」調節したいのですが
方法はありますでしょうか?
したく、以下のようにコーディングしました
ListViewItem lList = new ListViewItem(name);
List.ToolTipText = name //ツールチップの設定
ListViewItem.ListViewSubItem lvs = UrlList.SubItems.Add(age);
lvs.Tag = txtSearchWord.Text; //ツールチップの設定
ListViewItem.ListViewSubItem lvs = UrlList.SubItems.Add(section);
lvs.Tag = txtSearchWord.Text; //ツールチップの設定
一応これでポップアップするようになったのですが、位置がリストの表示位置と
離れすぎているのでもう少し「リストの文字に覆いかぶさるように」調節したいのですが
方法はありますでしょうか?
670デフォルトの名無しさん (ワッチョイ a72c-CX6h)
2020/05/15(金) 13:21:44.25ID:TG5diAlh0 たぶんC#書いてると上を採用するケースは少ないと思う
671デフォルトの名無しさん (アウアウエー Sa93-yXYh)
2020/05/15(金) 13:44:50.97ID:OlE2WbGda672デフォルトの名無しさん (ワッチョイ d379-x0Oq)
2020/05/15(金) 13:52:25.10ID:/bV5Wl+o0 でも下を採用すると
newとGCと場合によってはキャパ超えの処理が複数回
ループ毎に発生する
newとGCと場合によってはキャパ超えの処理が複数回
ループ毎に発生する
673デフォルトの名無しさん (ワッチョイ 2b2c-2D9n)
2020/05/15(金) 13:53:09.86ID:1rmq22iw0 .NETの範囲内だとToolTip自分で設定してマウスオーバーした時に自分でShowするぐらいしかないのかな
https://docs.microsoft.com/en-us/windows/win32/controls/ttn-show
Win32的にはTTN_SHOWでSetWindowPosしろって書いてある
ちなみにTTN_SHOWはListViewの派生クラスでWndProcオーバーライドすると捕まえられる
https://docs.microsoft.com/en-us/windows/win32/controls/ttn-show
Win32的にはTTN_SHOWでSetWindowPosしろって書いてある
ちなみにTTN_SHOWはListViewの派生クラスでWndProcオーバーライドすると捕まえられる
674デフォルトの名無しさん (ワッチョイ ff01-vB/y)
2020/05/15(金) 14:08:20.97ID:zOp0aFPX0 >>669
WPFだと表示位置を調整可能だけどWinFormだとデフォルトでは設定できないので
デフォルトのToolTipをオフにして自分でマウスイベント使ってToolTipを表示する
設定するToolTipのShow()メソッドで位置調整可能
WPFだと表示位置を調整可能だけどWinFormだとデフォルトでは設定できないので
デフォルトのToolTipをオフにして自分でマウスイベント使ってToolTipを表示する
設定するToolTipのShow()メソッドで位置調整可能
675デフォルトの名無しさん (ワッチョイ 6d2d-imz8)
2020/05/15(金) 15:37:07.91ID:Szckw36p0 オブジェクト複製の方法(ディープコピーやシャローコピー)を明示的に定義したインターフェイスはありますか
676デフォルトの名無しさん (テテンテンテン MM17-/iGY)
2020/05/15(金) 15:54:49.38ID:kU/eypzIM ない
ICloneableがまさにコピー方法等の規定がなく役に立たないために非推奨となったが、特に代替となるインターフェイスはない
MSとしてはコンストラクタ引数にコピー元オブジェクトを渡すことによるコピーを推奨しており、
シャローコピーなのかディープコピーなのかはそのコンストラクタのドキュメントに書くのがよいと思われる
ICloneableがまさにコピー方法等の規定がなく役に立たないために非推奨となったが、特に代替となるインターフェイスはない
MSとしてはコンストラクタ引数にコピー元オブジェクトを渡すことによるコピーを推奨しており、
シャローコピーなのかディープコピーなのかはそのコンストラクタのドキュメントに書くのがよいと思われる
677デフォルトの名無しさん (アウアウウー Sa31-L7FI)
2020/05/15(金) 16:02:55.82ID:TSXqI5G8a あったとして使い道を思いつかないw
678デフォルトの名無しさん (ブーイモ MM5b-26de)
2020/05/15(金) 16:04:17.52ID:Q6HDAvk8M ICloneableの一般化は有名なアンチパターン
679デフォルトの名無しさん (ワッチョイ 2b2c-2D9n)
2020/05/15(金) 19:43:40.41ID:1rmq22iw0 そんな推奨あったっけ
コンストラクタはasyncにできないし直接デリゲートにできないしで扱いづらいんだよね…
コンストラクタはasyncにできないし直接デリゲートにできないしで扱いづらいんだよね…
680デフォルトの名無しさん (ワッチョイ 4da7-071a)
2020/05/16(土) 02:07:37.57ID:iEtxjNqq0 CS1628 :匿名メソッド、ラムダ式、 またはクエリ式内では、refまたはoutパラメーター 'parameter'で使用できません.
ってエラーが出たらどうしたらいいですか?
ってエラーが出たらどうしたらいいですか?
681デフォルトの名無しさん (ワッチョイ 2352-ri7+)
2020/05/16(土) 02:55:26.32ID:XDh9Q16+0682デフォルトの名無しさん (ワッチョイ 3bad-fRvC)
2020/05/16(土) 02:55:57.76ID:hzvIc6mG0 そのメッセージの通りじゃね?
683デフォルトの名無しさん (ワッチョイ 4da7-071a)
2020/05/16(土) 07:51:09.90ID:iEtxjNqq0 >>682
でも値を戻して欲しいんです
でも値を戻して欲しいんです
684デフォルトの名無しさん (ドコグロ MM4b-cWUa)
2020/05/16(土) 08:33:36.19ID:1poti3B0M685デフォルトの名無しさん (ワッチョイ 4da7-071a)
2020/05/16(土) 09:03:08.49ID:iEtxjNqq0 >>684
よくわかりませんでした
よくわかりませんでした
686デフォルトの名無しさん (ワッチョイ d978-gIXh)
2020/05/16(土) 09:13:21.79ID:YgFCYzEo0 質問者が理解できない(理解しようとしない)だと回答する意味ねぇわな
687デフォルトの名無しさん (ワッチョイ 97ad-SWFu)
2020/05/16(土) 09:36:21.61ID:GaPEU8I00 MSDNは日本語版で読むと意味不明だから、英語で読んだほうが良いよ。
688デフォルトの名無しさん (ワッチョイ 3bad-fRvC)
2020/05/16(土) 09:47:43.94ID:hzvIc6mG0 >>683
だからコードをさらしてみ
だからコードをさらしてみ
689デフォルトの名無しさん (ワッチョイ 3bad-fRvC)
2020/05/16(土) 09:48:00.90ID:hzvIc6mG0 >>687
docsね
docsね
690デフォルトの名無しさん (ドコグロ MM7b-cWUa)
2020/05/16(土) 10:36:14.33ID:brzmqlgbM >>687
この程度ならたいして変わらなくね?
て言うか
> このエラーを回避するには、ローカル変数を使用するか、別のコンストラクトを使用します。
を理解 {でき|しようとし} ない奴が
> To avoid this error, use a local variable or some other construct.
を理解できるとは思えないけど…
この程度ならたいして変わらなくね?
て言うか
> このエラーを回避するには、ローカル変数を使用するか、別のコンストラクトを使用します。
を理解 {でき|しようとし} ない奴が
> To avoid this error, use a local variable or some other construct.
を理解できるとは思えないけど…
691デフォルトの名無しさん (ワッチョイ ff01-vB/y)
2020/05/16(土) 10:50:18.03ID:5tLRWKNk0 こんな日本語を理解しようとするのは時間の無駄
Ref または out パラメーター 'parameter' 匿名メソッド、ラムダ式、またはクエリ式の内部を使用することはできません。使用する場合、このエラーが発生した、 in、 ref、またはout匿名メソッド ブロックの内部でパラメーター。
Ref または out パラメーター 'parameter' 匿名メソッド、ラムダ式、またはクエリ式の内部を使用することはできません。使用する場合、このエラーが発生した、 in、 ref、またはout匿名メソッド ブロックの内部でパラメーター。
692デフォルトの名無しさん (ワッチョイ 97ad-SWFu)
2020/05/16(土) 11:26:30.30ID:GaPEU8I00693デフォルトの名無しさん (ワッチョイ 97ad-SWFu)
2020/05/16(土) 11:31:27.82ID:GaPEU8I00 安易にgithubのイシュー切れて、好き勝手文句を書いたように見えたから前回は問題になったんだし、githubでやるより、翻訳するにあたって当たり前のツールで対訳は作るべきだと思うんだがなぁ。
何もTradosを買えって言うわけじゃないけど、何か機械翻訳ではなくてメモリ翻訳+人間でやってほしい感じがするわ。
何もTradosを買えって言うわけじゃないけど、何か機械翻訳ではなくてメモリ翻訳+人間でやってほしい感じがするわ。
694デフォルトの名無しさん (ワッチョイ 5fb2-mth5)
2020/05/16(土) 11:58:34.03ID:l25Hva970 >>683
returnで返せばええやん
returnで返せばええやん
695デフォルトの名無しさん (ドコグロ MM51-cWUa)
2020/05/16(土) 12:16:10.04ID:Xg9MPSsRM >>691
これ元の英文もおかしいと思う
Cannot use in ref or out parameter 'parameter' inside an anonymous method, lambda expression, or query expression
の 'in' がキーワードと認識できないからわかりにくい訳になってる
in, ref, outを列挙するならカンマでつないで
Cannot use in, ref, or out parameter 'parameter' inside an anonymous method, lambda expression, or query expression
とするのが普通だと思う
これならGoogle翻訳でも
匿名メソッド、ラムダ式、またはクエリ式内では、in、ref、またはoutパラメーター 'parameter'を使用できません
とそれなりの訳文になる
これ元の英文もおかしいと思う
Cannot use in ref or out parameter 'parameter' inside an anonymous method, lambda expression, or query expression
の 'in' がキーワードと認識できないからわかりにくい訳になってる
in, ref, outを列挙するならカンマでつないで
Cannot use in, ref, or out parameter 'parameter' inside an anonymous method, lambda expression, or query expression
とするのが普通だと思う
これならGoogle翻訳でも
匿名メソッド、ラムダ式、またはクエリ式内では、in、ref、またはoutパラメーター 'parameter'を使用できません
とそれなりの訳文になる
696デフォルトの名無しさん (ワッチョイ ff01-vB/y)
2020/05/16(土) 14:19:19.88ID:5tLRWKNk0 Cannot use ref or out parameter … だったところに
新機能でinが追加されて修正したやつがミスったんだろ
実際のエラーメッセージはカンマ入りでちゃんと修正されてる
CS1628: Cannot use ref, out, or in parameter 'x' inside an anonymous method…
新機能でinが追加されて修正したやつがミスったんだろ
実際のエラーメッセージはカンマ入りでちゃんと修正されてる
CS1628: Cannot use ref, out, or in parameter 'x' inside an anonymous method…
697デフォルトの名無しさん (ワッチョイ 97ad-SWFu)
2020/05/16(土) 14:33:46.53ID:GaPEU8I00698デフォルトの名無しさん (ワッチョイ 3bad-fRvC)
2020/05/16(土) 15:24:12.42ID:hzvIc6mG0 >>697
そうだね、parameterが重複しちゃってるのはその前からだし、そもそもキーワードはバッククォートで囲っとくべきだけどね
そうだね、parameterが重複しちゃってるのはその前からだし、そもそもキーワードはバッククォートで囲っとくべきだけどね
699デフォルトの名無しさん (ワッチョイ 6b01-VOoi)
2020/05/16(土) 17:58:30.18ID:gofaxmB+0 練習がてらWindowsフォームでカレンダーを作っています
アプリが選択されていない時でも、例えば特定のラベルに
マウスポインタをかざすだけでイベントを発生させることはできますか?
アプリが選択されていない時でも、例えば特定のラベルに
マウスポインタをかざすだけでイベントを発生させることはできますか?
700デフォルトの名無しさん (ワッチョイ ab7b-u9dh)
2020/05/16(土) 18:06:26.61ID:WlfS3Ahk0 >>699
MouseEnterイベント
MouseEnterイベント
701デフォルトの名無しさん (ワッチョイ 6b01-VOoi)
2020/05/16(土) 18:26:07.47ID:gofaxmB+0702デフォルトの名無しさん (ワッチョイ 43da-32x/)
2020/05/16(土) 19:09:59.71ID:Z06SXSKt0 イベントは常に発生しているだろ
それをフックするかしないかだけで。
それをフックするかしないかだけで。
703デフォルトの名無しさん (アウアウウー Sa31-L7FI)
2020/05/16(土) 20:00:39.55ID:9bKV5hlVa ワイルドだろぉ〜?
まで読んだ
まで読んだ
704デフォルトの名無しさん (ワッチョイ a963-9scZ)
2020/05/17(日) 09:17:29.91ID:cGtEzJ7q0 WinFormsでWndProcとかフックしてて思ったんだけど
C++でデスクトップGUI作る場合ってGetMessageループするスレッド立ててWMをswitchさせてって感じでチマチマやってんの?
C++でデスクトップGUI作る場合ってGetMessageループするスレッド立ててWMをswitchさせてって感じでチマチマやってんの?
705デフォルトの名無しさん (ワッチョイ c3de-071a)
2020/05/17(日) 09:26:02.95ID:qz8+t6v/0 C++もMFCで組む場合はなんかよくわからんイベントで処理されてること考えないとあかんで
c#に移植するときは対応するイベントやメソッドがどれか当てはめるだけで移植できるかもしれんほど似てる
ぶっちゃけこの周りはwin32api時代のが一番見通し良かった
c#に移植するときは対応するイベントやメソッドがどれか当てはめるだけで移植できるかもしれんほど似てる
ぶっちゃけこの周りはwin32api時代のが一番見通し良かった
706デフォルトの名無しさん (ワッチョイ 9701-nHeX)
2020/05/17(日) 09:41:58.23ID:vdKycdNh0 隔靴掻痒
707デフォルトの名無しさん (アウアウエー Sa93-yXYh)
2020/05/17(日) 10:20:04.65ID:c3b5r+2ta Win32API が見透し良いのは同意
MFC は糞(ただのラッパーをクラスライブラリと称するとかアホかと)
MFC は糞(ただのラッパーをクラスライブラリと称するとかアホかと)
708デフォルトの名無しさん (ワッチョイ 6b01-VOoi)
2020/05/17(日) 10:38:34.08ID:WidHY7hL0 >>702
はい
独学だと基本がだめですね
読まないといけない本がたくさんあります
カレンダーは一旦完成したんですけど、また組み直してます
Form1にメソッドが集中するのもどうかと思い、カプセル化の勉強がてらクラスに分けたりしています
あと、デザイナでエラーが起きるのが怖いです
カレンダーの日付が表示される42個の部品をユーザーコントロールで作っているのですが
これのプロパティをいじるとデザイナでよくエラーが起きます
ソリューションのクリーンなどをしてると直るんですけど、それでよかったのかよくわかりません
ちなみにここで言ってるプロパティとは、セッターゲッターのある自分で入力するプロパティです
このプロパティと、プロパティウィンドウでのプロパティはどういう関係にあるのかもよくわからないんですけど。Designer.csをみるとただのフィールドのように見えるので。
はい
独学だと基本がだめですね
読まないといけない本がたくさんあります
カレンダーは一旦完成したんですけど、また組み直してます
Form1にメソッドが集中するのもどうかと思い、カプセル化の勉強がてらクラスに分けたりしています
あと、デザイナでエラーが起きるのが怖いです
カレンダーの日付が表示される42個の部品をユーザーコントロールで作っているのですが
これのプロパティをいじるとデザイナでよくエラーが起きます
ソリューションのクリーンなどをしてると直るんですけど、それでよかったのかよくわかりません
ちなみにここで言ってるプロパティとは、セッターゲッターのある自分で入力するプロパティです
このプロパティと、プロパティウィンドウでのプロパティはどういう関係にあるのかもよくわからないんですけど。Designer.csをみるとただのフィールドのように見えるので。
709デフォルトの名無しさん (ワッチョイ eb7c-ahgx)
2020/05/17(日) 10:42:17.99ID:A0b/Dj9R0 馬鹿はいつもあさっての方向に努力するよな
710デフォルトの名無しさん (アウアウウー Sa2d-5icG)
2020/05/17(日) 10:47:23.24ID:U+QztSWEa インターフェース多すぎて使い方よく分からんのだけど、いい解説サイトない?
711デフォルトの名無しさん (ワッチョイ d978-gIXh)
2020/05/17(日) 10:54:28.10ID:xmDbof2g0712デフォルトの名無しさん (ワッチョイ 8902-aUbQ)
2020/05/17(日) 10:57:26.34ID:a6GN2IRE0713デフォルトの名無しさん (ワッチョイ 6b01-VOoi)
2020/05/17(日) 12:52:02.62ID:WidHY7hL0 >>712
大学卒業したての美人の女医さんに
はい、パンツ脱いでおちんちん見せなさいって言われてるようで
はずかしすぎてとても無理っす
落ち着いていろんなことを実験したり調べてみると理解できるようになるんで頑張ってみます
大学卒業したての美人の女医さんに
はい、パンツ脱いでおちんちん見せなさいって言われてるようで
はずかしすぎてとても無理っす
落ち着いていろんなことを実験したり調べてみると理解できるようになるんで頑張ってみます
714デフォルトの名無しさん (ワッチョイ 17f1-8kLo)
2020/05/17(日) 13:26:59.78ID:oJIHh9Jk0715デフォルトの名無しさん (ワッチョイ 6b01-VOoi)
2020/05/17(日) 14:26:14.44ID:WidHY7hL0716デフォルトの名無しさん (ワッチョイ 17f1-8kLo)
2020/05/17(日) 14:39:23.29ID:oJIHh9Jk0 >>715
?
?
717デフォルトの名無しさん (JP 0H13-2td9)
2020/05/17(日) 15:21:16.64ID:BOpWVUpQH IT掲示板群 ttp://x0000.net/forum.aspx?id=15
学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
718デフォルトの名無しさん (ワッチョイ 1384-57Gp)
2020/05/17(日) 15:59:31.45ID:bUEaT9ex0 >>708
使い方とか設定でなにかあるのかもしれないけど、挙動からみるとデザイナはリアル
タイムにクラスのコードを解釈しているのではなく、キャッシュされたコードを使って
描画を行っているっぽい
DataGridViewクラスはhogeColumnクラスとhogeCellクラスを作るとユーザ定義の
セルを作れて、デザイナで作ったセル用のクラスをコントロールできるようになる
けど、作成直後はコードを保存してもリビルドしてもデザイナには反映されない
一旦コードをデバッグ実行すると、次からはデザイナでコントロール可能になるけど
プロパティを増やすとデザイナーに反映されないし、削除するとプロパティがないって
デザイナのコンパイラ(?)がエラーを吐いたりする
一応デザイナ画面を表示させない状態でバイナリのビルドに成功した状態で実行
してフォームが表示されれば、次からはデザイナで操作できるので気にしないで
使ってるけど
.NetFrameworkのソース見ると何か色々、実際のコードとは関係なさそうな指示
コードがたくさん書いてあるので、デザイナで使用するにはこの辺も記述する
必要があるのかもしれないけどよくわからない
デザイナで表示されるプロパティウィンドウに表示されるのは、単純にクラスで定義
されているプロパティなので別に違いはないはずだけどなぁ
使い方とか設定でなにかあるのかもしれないけど、挙動からみるとデザイナはリアル
タイムにクラスのコードを解釈しているのではなく、キャッシュされたコードを使って
描画を行っているっぽい
DataGridViewクラスはhogeColumnクラスとhogeCellクラスを作るとユーザ定義の
セルを作れて、デザイナで作ったセル用のクラスをコントロールできるようになる
けど、作成直後はコードを保存してもリビルドしてもデザイナには反映されない
一旦コードをデバッグ実行すると、次からはデザイナでコントロール可能になるけど
プロパティを増やすとデザイナーに反映されないし、削除するとプロパティがないって
デザイナのコンパイラ(?)がエラーを吐いたりする
一応デザイナ画面を表示させない状態でバイナリのビルドに成功した状態で実行
してフォームが表示されれば、次からはデザイナで操作できるので気にしないで
使ってるけど
.NetFrameworkのソース見ると何か色々、実際のコードとは関係なさそうな指示
コードがたくさん書いてあるので、デザイナで使用するにはこの辺も記述する
必要があるのかもしれないけどよくわからない
デザイナで表示されるプロパティウィンドウに表示されるのは、単純にクラスで定義
されているプロパティなので別に違いはないはずだけどなぁ
719デフォルトの名無しさん (ワッチョイ 6b01-VOoi)
2020/05/17(日) 17:21:28.05ID:WidHY7hL0 >>718
とても参考になりました
ありがとうございます
デザイナのエラーで元に戻らなくなると怖いので
ソリューションフォルダごとバックアップのためコピーしてるんです。
でも、エラーが起きるはずのないフォルダから起動しても
エラーが一時的に起きたことがあったんで疑問に思ってました。
キャッシュが残ってたからなんですね
>一応デザイナ画面を表示させない状態でバイナリのビルドに成功した状態で実行
>してフォームが表示されれば、次からはデザイナで操作できるので気にしないで
>使ってるけど
これ意識してなかったんですけど、そう言われればその手順でやるとエラー消えてました
プロパティについては理解が浅くて、いろいろ間違えていました。
山田先生の独習を読み直して教科書通りに書き直してみたらエラーが起きないようになりました
setterにいろいろ書きすぎてました。一応動いちゃうので大して気にせずに。
あと、自分で書いたプロパティとの違いですけど、これも勘違いしてました。
例えばForm1はFormクラスを継承してるので、プロパティはFormクラスや
さらにその先のクラスで定義されてるということですね
Designer.csやForm1.csでそれらしきのが書かれていなかったので早合点してました
とても参考になりました
ありがとうございます
デザイナのエラーで元に戻らなくなると怖いので
ソリューションフォルダごとバックアップのためコピーしてるんです。
でも、エラーが起きるはずのないフォルダから起動しても
エラーが一時的に起きたことがあったんで疑問に思ってました。
キャッシュが残ってたからなんですね
>一応デザイナ画面を表示させない状態でバイナリのビルドに成功した状態で実行
>してフォームが表示されれば、次からはデザイナで操作できるので気にしないで
>使ってるけど
これ意識してなかったんですけど、そう言われればその手順でやるとエラー消えてました
プロパティについては理解が浅くて、いろいろ間違えていました。
山田先生の独習を読み直して教科書通りに書き直してみたらエラーが起きないようになりました
setterにいろいろ書きすぎてました。一応動いちゃうので大して気にせずに。
あと、自分で書いたプロパティとの違いですけど、これも勘違いしてました。
例えばForm1はFormクラスを継承してるので、プロパティはFormクラスや
さらにその先のクラスで定義されてるということですね
Designer.csやForm1.csでそれらしきのが書かれていなかったので早合点してました
720デフォルトの名無しさん (ワッチョイ 2b2c-2D9n)
2020/05/17(日) 18:05:02.43ID:kGA4FYso0 本題とは関係ないけど
> デザイナのエラーで元に戻らなくなると怖いので
> ソリューションフォルダごとバックアップのためコピーしてるんです。
Git導入してみてはどうだろう 一人開発でも十分役に立つぞ
今どきはVSにも組み込まれてるんだし
> デザイナのエラーで元に戻らなくなると怖いので
> ソリューションフォルダごとバックアップのためコピーしてるんです。
Git導入してみてはどうだろう 一人開発でも十分役に立つぞ
今どきはVSにも組み込まれてるんだし
721デフォルトの名無しさん (アウアウウー Sa1d-/iGY)
2020/05/17(日) 18:12:17.37ID:T4/b/bLZa 初心者の勉強にGitなんか要らんよ
俺も初心者の頃は意識高い情報に踊らされてバージョン管理しながら勉強してたが、前のバージョンに戻すなんて一度たりともやった覚えがない
もっと言えば、初心者時代に書いたコードなんてはっきり言って何の価値もないゴミだ
後から見返したことは一度もない
俺も初心者の頃は意識高い情報に踊らされてバージョン管理しながら勉強してたが、前のバージョンに戻すなんて一度たりともやった覚えがない
もっと言えば、初心者時代に書いたコードなんてはっきり言って何の価値もないゴミだ
後から見返したことは一度もない
722デフォルトの名無しさん (ワッチョイ d390-6tiU)
2020/05/17(日) 18:27:33.37ID:NeE1Esak0 後々取っておくとこんなのもあったなあ…って懐古しながら成長したことを実感できるよ
723デフォルトの名無しさん (ワッチョイ 9b4f-gIXh)
2020/05/17(日) 18:29:18.21ID:EbKAPsbe0 いろいろ試行錯誤する初心者の方が役に立つと思うけどなぁ。
ガチャガチャ試しているうちに今まで動いていたところがなぜかうまく動かなくなったとか。
ガチャガチャ試しているうちに今まで動いていたところがなぜかうまく動かなくなったとか。
724デフォルトの名無しさん (アウアウウー Sa31-L7FI)
2020/05/17(日) 18:42:33.53ID:sPeeGmAVa ZIPで固めて丸ごと保存最高だよねw
一瞬で出来るし何の準備もいらん
一瞬で出来るし何の準備もいらん
725デフォルトの名無しさん (ワッチョイ 3d01-gIXh)
2020/05/17(日) 19:15:02.60ID:WeV7wvNO0 Gitは保存の仕方だけ覚えたから上書きだけしてる
初心者だからバージョン管理とか不要
初心者だからバージョン管理とか不要
726デフォルトの名無しさん (ワッチョイ 3bad-fRvC)
2020/05/17(日) 19:33:53.04ID:VAj0yrtz0 初心者だろうとなんだろうとバージョン管理は基本
727デフォルトの名無しさん (ワッチョイ 2f2d-imz8)
2020/05/17(日) 19:56:39.41ID:zE6yFOdt0 バージョン管理システムの概念を理解するまで結構慣れが必要だから
初心者の内から触るのも悪くない
初心者の内から触るのも悪くない
私も昔は CVS のレポジトリを dropbox に置いてお気楽に、ああ便利だ、とやってましたが…
ある日突然レポジトリが死んでしまったのにショックを受けて以来、今も躊躇しているのです
ある日突然レポジトリが死んでしまったのにショックを受けて以来、今も躊躇しているのです
729デフォルトの名無しさん
2020/05/17(日) 20:22:56.77 >>724
これ
これ
730デフォルトの名無しさん (ワッチョイ 8902-aUbQ)
2020/05/17(日) 20:24:25.56ID:a6GN2IRE0731デフォルトの名無しさん (ワッチョイ 178e-LqUT)
2020/05/17(日) 20:35:22.45ID:dvSHUyYR0 比較なんてエディタでもできるし
そもそも一人なんだからローカルリポジトリでいいだろ
そもそも一人なんだからローカルリポジトリでいいだろ
732デフォルトの名無しさん (ワッチョイ eb61-gjhq)
2020/05/17(日) 20:47:12.43ID:cbSXa2eM0 sourcetreeいれてブランチつくってこねこねしてたらなんとなく複雑なバージョン管理している気分になれるからおすすめ
なお実戦で役に立つかどうかはしらん
なお実戦で役に立つかどうかはしらん
733デフォルトの名無しさん (アウアウウー Sa1d-/iGY)
2020/05/17(日) 20:49:38.05ID:T4/b/bLZa SourceTreeってWindows版はWPFだから嫌い
Forkに乗り換えたわ
Forkに乗り換えたわ
734デフォルトの名無しさん (ワッチョイ 6b63-S0xs)
2020/05/17(日) 21:11:45.42ID:hv2XIFXO0 >>733
べつに使う側からしたらWPFでもformsでも何でもよくない?
べつに使う側からしたらWPFでもformsでも何でもよくない?
735デフォルトの名無しさん (ワッチョイ d978-gIXh)
2020/05/17(日) 21:14:15.85ID:xmDbof2g0 >>733
VisualStudio使ってないの?
VisualStudio使ってないの?
736デフォルトの名無しさん (ワッチョイ 3f6a-gIXh)
2020/05/17(日) 21:50:04.36ID:jYDn0xup0 >>732
SourceTree仕事でもメッチャ使ってる
でもAtlasianのアカウント作れって言われるようになって面倒
最近は Git Extensions のUIも頑張ってるからそっちに乗り換えようかとおもってる
SourceTree仕事でもメッチャ使ってる
でもAtlasianのアカウント作れって言われるようになって面倒
最近は Git Extensions のUIも頑張ってるからそっちに乗り換えようかとおもってる
737デフォルトの名無しさん (ワッチョイ 736a-2pxY)
2020/05/17(日) 22:13:04.12ID:Cxm54tO20 VS以外だとTortoiseGit使ってるわ
738デフォルトの名無しさん (ワッチョイ 3bad-fRvC)
2020/05/17(日) 22:34:53.36ID:VAj0yrtz0 Visual Studio CodeとCLIで大体の作業は事足りるしなあ
739デフォルトの名無しさん (ワッチョイ 4da7-071a)
2020/05/17(日) 23:11:20.91ID:wfhyoR0J0 >>736
アレさ
フォルダの中のファイル変えるじゃん
現在アクティブなブランチはフォルダ見ただけじゃわからないし
すべての操作が気軽にしてはいけないくせに右クリックのメニューとか
ドラッグ・アンド・ドロップでやらせようとするのがゴミ
操作前に操作後の結果がビジュアル的に見えないといけないツールのくせに
何もしてないし
いらなくね?
普通にtortoiseGitでできる範囲の操作しかしないほうがいい
アレさ
フォルダの中のファイル変えるじゃん
現在アクティブなブランチはフォルダ見ただけじゃわからないし
すべての操作が気軽にしてはいけないくせに右クリックのメニューとか
ドラッグ・アンド・ドロップでやらせようとするのがゴミ
操作前に操作後の結果がビジュアル的に見えないといけないツールのくせに
何もしてないし
いらなくね?
普通にtortoiseGitでできる範囲の操作しかしないほうがいい
740デフォルトの名無しさん (ワッチョイ 3f6a-gIXh)
2020/05/17(日) 23:29:14.84ID:jYDn0xup0741デフォルトの名無しさん (ワッチョイ 4da7-071a)
2020/05/17(日) 23:43:05.81ID:wfhyoR0J0742デフォルトの名無しさん (ワッチョイ 4da7-071a)
2020/05/17(日) 23:53:55.80ID:wfhyoR0J0 ツールの故障もダメ
コミット失敗してもロールバックしてくれないぞ
コミット失敗してもロールバックしてくれないぞ
743デフォルトの名無しさん (ワッチョイ 3f6a-gIXh)
2020/05/18(月) 00:04:19.65ID:g/ITMYKi0 コミット失敗の意味がわからん
間違いコミットなんか別に問題ないし戻りたければ戻れるだろ
pushしてからミスに気付いたのは面倒だけど
それはツールかどうか関係ないしな
間違いコミットなんか別に問題ないし戻りたければ戻れるだろ
pushしてからミスに気付いたのは面倒だけど
それはツールかどうか関係ないしな
744デフォルトの名無しさん (ワッチョイ 5363-JAJ1)
2020/05/18(月) 00:05:50.73ID:flcUkeyx0 >>742
コミットミスがどの操作でどの範囲のミスか知らんけど、sourcetreeなら自分でロールバックできるじゃん
コミットミスがどの操作でどの範囲のミスか知らんけど、sourcetreeなら自分でロールバックできるじゃん
745デフォルトの名無しさん (ワッチョイ 7701-tC+g)
2020/05/18(月) 00:14:15.65ID:ZhbDs7dG0 その昔VSSという、格納したファイルが
ロストするというとんでもないバージョン管理システムとか
文書が消滅する文書管理システムとかあってなw
ロストするというとんでもないバージョン管理システムとか
文書が消滅する文書管理システムとかあってなw
746デフォルトの名無しさん (ワッチョイ 178e-LqUT)
2020/05/18(月) 01:35:24.95ID:gGxx/ysn0747デフォルトの名無しさん (ワッチョイ 4da7-071a)
2020/05/18(月) 02:00:15.97ID:Js/sWW350748デフォルトの名無しさん (ワッチョイ 4da7-071a)
2020/05/18(月) 02:01:08.98ID:Js/sWW350 >>744
通信異常だっていってるじゃん
通信異常だっていってるじゃん
749デフォルトの名無しさん (ワッチョイ 4d1d-RHMD)
2020/05/18(月) 02:16:56.43ID:dAzYDVZg0 未経験から半年でフリーエンジニアになれる人の特徴
https://www.youtube.com/watch?v=YCxu0jn52Qw
フリーランスか会社員かどっちが簡単かについての最終回答
https://www.youtube.com/watch?v=JA4JNSmIdxI
【エンジニア】正社員/派遣社員/フリーランスのメリット・デメリットについて
https://www.youtube.com/watch?v=fTG-eMpwhCg
月収1000万円オンラインサロンオーナーの日常【飲み過ぎ】
https://www.youtube.com/watch?v=lPfWZLatYus&t=107s
借金400万円から人生逆転するまでの軌跡
https://www.youtube.com/watch?v=fXdHlFFUjGY
https://www.youtube.com/watch?v=YCxu0jn52Qw
フリーランスか会社員かどっちが簡単かについての最終回答
https://www.youtube.com/watch?v=JA4JNSmIdxI
【エンジニア】正社員/派遣社員/フリーランスのメリット・デメリットについて
https://www.youtube.com/watch?v=fTG-eMpwhCg
月収1000万円オンラインサロンオーナーの日常【飲み過ぎ】
https://www.youtube.com/watch?v=lPfWZLatYus&t=107s
借金400万円から人生逆転するまでの軌跡
https://www.youtube.com/watch?v=fXdHlFFUjGY
750デフォルトの名無しさん (ワッチョイ 2352-ri7+)
2020/05/18(月) 02:54:46.58ID:QOM8mByz0 >>749
スレチ グロ
スレチ グロ
751デフォルトの名無しさん (ワッチョイ 7701-tC+g)
2020/05/18(月) 07:21:22.24ID:ZhbDs7dG0 >>746
馬鹿は知ったかぶりすんな
馬鹿は知ったかぶりすんな
752デフォルトの名無しさん (アウアウエー Sa93-jstM)
2020/05/18(月) 09:32:08.05ID:vuzvZUyca ループ中にList<string>へAddして追加していった文字列があります
Listの中身は仮にABCD, ABCD, EFGH, IJKL, IJKL, IJKLとします
これを集計してMessageBox.Showにて下記のように出力したいのですがどのような方法がありますか?
---------------
ABCD 2件
EFGH 1件
IJKL 3件
---------------
集計部分の方法について教えていただきたいです
二重ループにてひとつずつカウントするのは思いつくのですがもっと無駄の無い方法があるのではないかと質問させていただきました
ループの回数、Addされる文字列は決まっていないためListに格納してみました
ループ1回の中で条件に合致するとListへAddします(1回のループで追加なし or 1回だけAddの必ずどちらかです)
質問の前提条件が足りませんでしたら指摘お願いします
よろしくお願いします
Listの中身は仮にABCD, ABCD, EFGH, IJKL, IJKL, IJKLとします
これを集計してMessageBox.Showにて下記のように出力したいのですがどのような方法がありますか?
---------------
ABCD 2件
EFGH 1件
IJKL 3件
---------------
集計部分の方法について教えていただきたいです
二重ループにてひとつずつカウントするのは思いつくのですがもっと無駄の無い方法があるのではないかと質問させていただきました
ループの回数、Addされる文字列は決まっていないためListに格納してみました
ループ1回の中で条件に合致するとListへAddします(1回のループで追加なし or 1回だけAddの必ずどちらかです)
質問の前提条件が足りませんでしたら指摘お願いします
よろしくお願いします
753デフォルトの名無しさん (ワッチョイ 49ea-gIXh)
2020/05/18(月) 09:37:16.62ID:pauZM8r90 Dictionary<string, int>
でよくね?
でよくね?
754デフォルトの名無しさん (ワッチョイ 2b2c-2D9n)
2020/05/18(月) 09:47:52.23ID:OpjsybgA0 Addするときについでに数えるならDictionary<stirng, int>
完成したList<string>を数えるならGroupBy()をそれぞれCount()
完成したList<string>を数えるならGroupBy()をそれぞれCount()
755デフォルトの名無しさん (アウアウウー Sa1d-/iGY)
2020/05/18(月) 10:12:42.88ID:W1RwdSEUa そういうのは集計対象データがDBに入ってるケースが殆どだから、最初からSQLでやっちゃうのが一番スマート
756デフォルトの名無しさん (アウアウエー Sa93-jstM)
2020/05/18(月) 10:54:25.11ID:vuzvZUyca >>753-755
ありがとうございます
>>753,754
Dictionaryを使う場合、stringに文字列、intに件数
追加する際にContainsKeyで重複確認
存在しなければ[ABCD, 1]で追加、存在すればintを+1
こんな感じでしょうか?
>>754
ListでGroupBy()、Count()を使用したい場合、List追加時に
{ no = 1, name = "A", grade = 3 }のような形式で追加する必要があると思っているのですが
単純なList.Add(str)でもGroupBy()等が使えるのでしょうか?
ググった中では上記の例しか見つけられずここに質問に参りました
>>755
SQLなら良かったんですが、テキストファイルをDB取込用に変換する時点のお話なんです…
ありがとうございます
>>753,754
Dictionaryを使う場合、stringに文字列、intに件数
追加する際にContainsKeyで重複確認
存在しなければ[ABCD, 1]で追加、存在すればintを+1
こんな感じでしょうか?
>>754
ListでGroupBy()、Count()を使用したい場合、List追加時に
{ no = 1, name = "A", grade = 3 }のような形式で追加する必要があると思っているのですが
単純なList.Add(str)でもGroupBy()等が使えるのでしょうか?
ググった中では上記の例しか見つけられずここに質問に参りました
>>755
SQLなら良かったんですが、テキストファイルをDB取込用に変換する時点のお話なんです…
757デフォルトの名無しさん (ワッチョイ ab33-2pxY)
2020/05/18(月) 11:32:45.53ID:JFOczdfW0 >>756
こんな感じでいけるんでね?
var result = list.GroupBy(x => x)
.Select(x => new { Name = x.Key, Count = x.Count() });
こんな感じでいけるんでね?
var result = list.GroupBy(x => x)
.Select(x => new { Name = x.Key, Count = x.Count() });
758デフォルトの名無しさん (アウアウエー Sa93-jstM)
2020/05/18(月) 12:26:33.79ID:vuzvZUyca759デフォルトの名無しさん (ワッチョイ cf61-gjhq)
2020/05/18(月) 12:47:51.68ID:p81iujaQ0 >>757
Selectいる?
Selectいる?
760デフォルトの名無しさん (ワッチョイ 7f2c-JcAG)
2020/05/18(月) 13:58:26.81ID:MslK9QoT0 Ruby なら、
ary = %w(あ 12 x 12 あ 12)
p ary.group_by( &:itself ).transform_values( &:size )
出力
{"あ"=>2, "12"=>3, "x"=>1}
ary = %w(あ 12 x 12 あ 12)
p ary.group_by( &:itself ).transform_values( &:size )
出力
{"あ"=>2, "12"=>3, "x"=>1}
761デフォルトの名無しさん (ワッチョイ ab33-2pxY)
2020/05/18(月) 14:32:21.18ID:JFOczdfW0 >>759
無しでも書けるか
var groups = list.GroupBy(x => x);
foreach (var g in groups)
{
Console.WriteLine("{0} {1}件", g.Key, g.Count());
}
無しでも書けるか
var groups = list.GroupBy(x => x);
foreach (var g in groups)
{
Console.WriteLine("{0} {1}件", g.Key, g.Count());
}
762760 (ワッチョイ 7f2c-JcAG)
2020/05/18(月) 15:54:33.15ID:MslK9QoT0 Ruby なら、x => x
などのラムダ式も、
&:itself などのメソッド名を渡すだけで良い
などのラムダ式も、
&:itself などのメソッド名を渡すだけで良い
763デフォルトの名無しさん (ワッチョイ 7b02-gIXh)
2020/05/18(月) 22:54:28.02ID:/IMIPkUF0 >>762
Sapphireならどう出る?
Sapphireならどう出る?
764デフォルトの名無しさん (ワッチョイ a72c-MWp5)
2020/05/18(月) 23:51:04.74ID:TSImRkOU0 >>761
ごめん素朴な疑問なんだけど、そのCount()の使い方だと、イテレータの評価が毎回全周するわけにはならんのん?
ごめん素朴な疑問なんだけど、そのCount()の使い方だと、イテレータの評価が毎回全周するわけにはならんのん?
765デフォルトの名無しさん (ワッチョイ 2b2c-2D9n)
2020/05/19(火) 00:00:16.03ID:QbrDO9YB0 ならないよ
GroupByでキャッシュされる
GroupByでキャッシュされる
766デフォルトの名無しさん (ワッチョイ ff01-vB/y)
2020/05/19(火) 00:32:37.22ID:1Pn0Xhkl0 キャッシュ?
767デフォルトの名無しさん (ワッチョイ 8902-aUbQ)
2020/05/19(火) 00:46:42.98ID:7LUV0pB00768デフォルトの名無しさん (ワッチョイ 2b2c-2D9n)
2020/05/19(火) 00:51:43.48ID:QbrDO9YB0 とりあえず自分はCount()のたびに
list.GetEnuemrable().GetEnumerator()が呼び出されることと受け取った
list.GetEnuemrable().GetEnumerator()が呼び出されることと受け取った
769デフォルトの名無しさん (ワッチョイ 2b2c-2D9n)
2020/05/19(火) 00:53:42.34ID:QbrDO9YB0 あ違う
Count()のたびにlist.GetEnumerator()からの列挙が、だな
Count()のたびにlist.GetEnumerator()からの列挙が、だな
770デフォルトの名無しさん (ワッチョイ ff01-vB/y)
2020/05/19(火) 01:21:07.22ID:1Pn0Xhkl0 var groups = list.GroupBy(x => x); のgroupsはIEnumerable<IGrouping<string, string>>
foreach (var g in groups) のgはIGrouping<string, string>
IGrouping<T>に対するCount()はEnumerable.Count()が呼ばれる
IGrouping<T>にICollection<T>やICollectionは実装されてないから
Enumerable.Count()が呼ばれるとGetEnumerator()使って数えるんじゃないかな
(各グループごとにグループ内の要素数分だけMoveNext()が呼ばれるイメージ)
foreach (var g in groups) のgはIGrouping<string, string>
IGrouping<T>に対するCount()はEnumerable.Count()が呼ばれる
IGrouping<T>にICollection<T>やICollectionは実装されてないから
Enumerable.Count()が呼ばれるとGetEnumerator()使って数えるんじゃないかな
(各グループごとにグループ内の要素数分だけMoveNext()が呼ばれるイメージ)
771デフォルトの名無しさん (ワッチョイ ff01-vB/y)
2020/05/19(火) 01:36:28.09ID:1Pn0Xhkl0 試してみたらg as ICollection<string>で変換できたので
Count()はGetEnumeratorされてなさそう
Count()はGetEnumeratorされてなさそう
772デフォルトの名無しさん (ワッチョイ afad-uRPb)
2020/05/19(火) 01:50:25.74ID:PNm9d/ci0 await Task.Factory.StartNew(
() => {
for (int i = 0; i < imageList.Count; i++)
{
Clipboard.SetImage(imageList[i]);
}
},
CancellationToken.None,
TaskCreationOptions.None,
TaskScheduler.FromCurrentSynchronizationContext()
);
こんな感じで画像のリストを1つ1つクリップボードにコピーさせていくのですが
タスクでSTAスレッドで処理をするとUIのメインスレッドがフリーズするのですがフリーズ回避はどうしたらいいですか?
() => {
for (int i = 0; i < imageList.Count; i++)
{
Clipboard.SetImage(imageList[i]);
}
},
CancellationToken.None,
TaskCreationOptions.None,
TaskScheduler.FromCurrentSynchronizationContext()
);
こんな感じで画像のリストを1つ1つクリップボードにコピーさせていくのですが
タスクでSTAスレッドで処理をするとUIのメインスレッドがフリーズするのですがフリーズ回避はどうしたらいいですか?
773デフォルトの名無しさん (テテンテンテン MM17-/iGY)
2020/05/19(火) 02:02:02.85ID:Gmm+b2VzM 単に Clipboard.SetImage(imageList.Last()) にすればいい
等価だ
等価だ
774デフォルトの名無しさん (ワッチョイ 7f2c-JcAG)
2020/05/19(火) 08:52:42.15ID:NuzKkPrj0 クリップボードみたいなユーザーよりの機能は、
バックグラウンドスレッドから、アクセスできるかな?
ひょっとしたら、UI(メイン)スレッドからしか、アクセスできないかも?
バックグラウンドスレッドから、アクセスできるかな?
ひょっとしたら、UI(メイン)スレッドからしか、アクセスできないかも?
775デフォルトの名無しさん (ワッチョイ a72c-MWp5)
2020/05/19(火) 09:39:08.13ID:uON0wt840 >>770
764だけどなるほど、ありがとう
764だけどなるほど、ありがとう
776デフォルトの名無しさん (ワッチョイ 5b84-57Gp)
2020/05/19(火) 17:49:11.24ID:+0P+K8Fq0 >>772
STAスレッド(Formのスレッド?)で処理していたらUIの更新が行えないので
正しい動作かな
ClipboardクラスはSTAでしか動かないってなっているので、asyncメソッドでtaskを
実行してdelegate経由のinvokeで呼び出すんじゃないかな
STAスレッド(Formのスレッド?)で処理していたらUIの更新が行えないので
正しい動作かな
ClipboardクラスはSTAでしか動かないってなっているので、asyncメソッドでtaskを
実行してdelegate経由のinvokeで呼び出すんじゃないかな
777デフォルトの名無しさん (ワッチョイ 4d1d-ucyj)
2020/05/19(火) 18:20:34.86ID:8HY/3oGP0 SIer業界がブラックな理由を解説する。エンジニアは自社開発をしているWeb業界がオススメ!
https://www.youtube.com/watch?v=iy4nnAI9og4
エンジニアの仕事が稼げる理由とは?プログラミングスキルと
仕事の需要は比例しないので、実は技術力が低くても稼ぐことができる!
https://www.youtube.com/watch?v=82Bs-NH8jAM
通勤時間が長い人ほど無能説。家賃節約とか言っている暇があったら、
会社の近くに引っ越して浮いた時間に副業したほうがお金も貯まるし強くなれる。
https://www.youtube.com/watch?v=mt6K1RJnk6I
プログラミングに英語は必要か?に対する明確な答え
https://www.youtube.com/watch?v=WWULJbVECKU
私がヤフーを辞めた理由
https://www.youtube.com/watch?v=-G-7Hc3rJw8
【業界研究】IT業界でひと括りにするのは危険。SIer、Web制作、
アプリ開発で仕事内容が全く違います。【就活・転職】
https://www.youtube.com/watch?v=_IJQ2iBkf4w
https://www.youtube.com/watch?v=iy4nnAI9og4
エンジニアの仕事が稼げる理由とは?プログラミングスキルと
仕事の需要は比例しないので、実は技術力が低くても稼ぐことができる!
https://www.youtube.com/watch?v=82Bs-NH8jAM
通勤時間が長い人ほど無能説。家賃節約とか言っている暇があったら、
会社の近くに引っ越して浮いた時間に副業したほうがお金も貯まるし強くなれる。
https://www.youtube.com/watch?v=mt6K1RJnk6I
プログラミングに英語は必要か?に対する明確な答え
https://www.youtube.com/watch?v=WWULJbVECKU
私がヤフーを辞めた理由
https://www.youtube.com/watch?v=-G-7Hc3rJw8
【業界研究】IT業界でひと括りにするのは危険。SIer、Web制作、
アプリ開発で仕事内容が全く違います。【就活・転職】
https://www.youtube.com/watch?v=_IJQ2iBkf4w
778デフォルトの名無しさん (ワッチョイ ebfd-4TjA)
2020/05/19(火) 18:32:12.04ID:mepgGg800 vb.netとc#の大きな違いってなんでしょうか
仕事で後者を触らないといけないんですが
仕事で後者を触らないといけないんですが
779デフォルトの名無しさん (アウアウエー Sa93-ahgx)
2020/05/19(火) 18:34:15.56ID:h69Ba80Ra vb.net うれしくない
C# どちらでもない
C# どちらでもない
780デフォルトの名無しさん (ワッチョイ 17f1-8kLo)
2020/05/19(火) 18:49:46.90ID:DkycvRhf0 >>777
ハゲとるやないか
ハゲとるやないか
781デフォルトの名無しさん (ワッチョイ 3d01-gIXh)
2020/05/19(火) 19:07:11.03ID:klHbQUiE0 >>778
開発終了と開発続行
開発終了と開発続行
782デフォルトの名無しさん (オッペケ Sra5-4TjA)
2020/05/19(火) 19:56:29.83ID:FEuqCu/Yr そんなに大きく違いますか?
文法書見てる感じではそこまで大きな差はないなかな、と思ったりしてますが
文法書見てる感じではそこまで大きな差はないなかな、と思ったりしてますが
783デフォルトの名無しさん (ワッチョイ 6b63-S0xs)
2020/05/19(火) 20:07:13.61ID:T11FGKSX0 >>782
どっちも.NETベースだから基本は大して変わらんけどC#のほうが長続きしてるのでVB.NETにない新しい言語機能がいろいろある
どっちも.NETベースだから基本は大して変わらんけどC#のほうが長続きしてるのでVB.NETにない新しい言語機能がいろいろある
784デフォルトの名無しさん (ワッチョイ 3bad-fRvC)
2020/05/19(火) 20:40:43.92ID:a0TVrn2w0 >>782
リソースが段違い
リソースが段違い
785デフォルトの名無しさん (アウアウウー Sa31-L7FI)
2020/05/19(火) 20:48:48.06ID:Hcak2SNoa >>782
あんまり意味のある質問に思えないんだけどw
あんまり意味のある質問に思えないんだけどw
786デフォルトの名無しさん (アウアウウー Saaf-Wcp/)
2020/05/19(火) 20:49:42.54ID:jcXcpHtca >>782
言語仕様はほぼ一緒なんだけど使い手のレベルとか文化とかに雲泥の差が
控えめに言ってVBしかできないような人は20世紀から取り残されたゴミみたいな開発者が大半
BASICの歴史的な経緯からくる負の遺産、いままでに蓄積されたクソコードもてんこ盛り
VBに関わるとダメプログラマに転落するぞ
といいつつC#でも下手するとVS2005〜2008位で時間が止まったままの案件も結構あるけどな
そういう現場にどっぷり漬かるとVBでもC#でもダメエンジニアへの道まっしぐらだ
言語仕様はほぼ一緒なんだけど使い手のレベルとか文化とかに雲泥の差が
控えめに言ってVBしかできないような人は20世紀から取り残されたゴミみたいな開発者が大半
BASICの歴史的な経緯からくる負の遺産、いままでに蓄積されたクソコードもてんこ盛り
VBに関わるとダメプログラマに転落するぞ
といいつつC#でも下手するとVS2005〜2008位で時間が止まったままの案件も結構あるけどな
そういう現場にどっぷり漬かるとVBでもC#でもダメエンジニアへの道まっしぐらだ
787デフォルトの名無しさん (ブーイモ MM81-DBEz)
2020/05/19(火) 20:55:05.94ID:1ZWHWWZ0M っていうか言語で出来ることが変わるとか制限あるのがおかしい
日本語の「ツンデレ」を訳せる言語が無いとかそういうレベルと違う
日本語の「ツンデレ」を訳せる言語が無いとかそういうレベルと違う
788デフォルトの名無しさん (ワッチョイ 3fac-5iCk)
2020/05/19(火) 20:57:59.68ID:HSamcFUd0 VBはちょっと。。
言語もだけど、書く人の頭が古いからコードまで至るところで古さを感じる
多重for、ifとかそんなレベルで
VB現役でやってる人でもすごい人はいるんだろうけど、稀有やろなあ
言語もだけど、書く人の頭が古いからコードまで至るところで古さを感じる
多重for、ifとかそんなレベルで
VB現役でやってる人でもすごい人はいるんだろうけど、稀有やろなあ
789デフォルトの名無しさん (ワッチョイ 3f6a-gIXh)
2020/05/19(火) 21:07:44.17ID:+YYtOpaV0 VBの言語仕様はラムダ式とかクロージャと相性が悪い
790デフォルトの名無しさん (ワッチョイ d978-gIXh)
2020/05/19(火) 21:11:51.54ID:nVxChFQF0 C# と VB.NET、同じコード書いても IL レベルで見るとVB.NET側にゴミが付くんだよな
791デフォルトの名無しさん (ワッチョイ 55da-N57e)
2020/05/19(火) 21:23:56.06ID:u8EJQdwC0 C#とVB.NETどっちも選べる状態でVB.NET選んでる人やプロジェクトってどれくらいあるんかな?
792デフォルトの名無しさん (ワッチョイ d390-6tiU)
2020/05/19(火) 22:18:57.18ID:KmzCw2hp0 数年前に作られたVB.NETのWebシステム知ってる
オフショアで作らせたら動く粗大ゴミが誕生したと聞いた
詳しくは知らんが
オフショアで作らせたら動く粗大ゴミが誕生したと聞いた
詳しくは知らんが
793デフォルトの名無しさん (アウアウウー Sac7-RnIb)
2020/05/20(水) 06:51:50.32ID:AQWueC8Ga 自分が作ってるツールはexcel操作する場合
いつもvb.netで書いてしまうわ
いつもvb.netで書いてしまうわ
794デフォルトの名無しさん (ワッチョイ 8b01-xuiy)
2020/05/20(水) 07:03:39.27ID:lHd0Mfby0 VBはC#より稀に先進的な記述方法がある
行末に;要らないとか
つかC#もそうして欲しい
簡単だろ
行末に;要らないとか
つかC#もそうして欲しい
簡単だろ
795デフォルトの名無しさん (アウアウウー Sac7-tPY3)
2020/05/20(水) 07:05:09.78ID:QEwx4hM4a C#で書いてると、たまにVB使うとエンターキーの違いでイラっとくるわ
796デフォルトの名無しさん (ワッチョイ 8b01-xuiy)
2020/05/20(水) 07:11:31.80ID:lHd0Mfby0 VBに限っては改修業務が良い
新規でVBとか考えたくない
新規でVBとか考えたくない
797デフォルトの名無しさん (ワッチョイ 5bf1-D4L3)
2020/05/20(水) 10:16:35.82ID:qjNDk5Cx0 エンターキーの違いとは?
798デフォルトの名無しさん (ワッチョイ c74e-no6W)
2020/05/20(水) 12:59:08.46ID:nNq7q5wW0 public Class MyCustomForm : Form
という自作の拡張Formクラスを作り、コンストラクタで色やいくつかのコントロールを配置したものをメインのForm1で継承させ、コンパイルも上手くいき実際の動作も希望通りではあるのですが、
上記のMyCustomFormのコンストラクタ内で追加したコントロールがデザイナで編集することができません。
まるで背景画像かのように選択すら出来ないものや、選択こそ出来てもAutoSizeやLocationなどの項目が灰色掛かって編集不可能になっていたりします。
InitializeComponent()以外で追加したコントロールをデザイナ上で操作することは不可能なのでしょうか?
という自作の拡張Formクラスを作り、コンストラクタで色やいくつかのコントロールを配置したものをメインのForm1で継承させ、コンパイルも上手くいき実際の動作も希望通りではあるのですが、
上記のMyCustomFormのコンストラクタ内で追加したコントロールがデザイナで編集することができません。
まるで背景画像かのように選択すら出来ないものや、選択こそ出来てもAutoSizeやLocationなどの項目が灰色掛かって編集不可能になっていたりします。
InitializeComponent()以外で追加したコントロールをデザイナ上で操作することは不可能なのでしょうか?
799デフォルトの名無しさん (ワッチョイ 2702-crVl)
2020/05/20(水) 13:29:58.53ID:ABO4MomS0 VBで作ったシステムをVB.NETに移植しようとしたが
あまりも超絶スパゲッティだったのでほぐしたら
最終的にコード量が1/4になった事がある
あまりも超絶スパゲッティだったのでほぐしたら
最終的にコード量が1/4になった事がある
800デフォルトの名無しさん (ワッチョイ 3761-crVl)
2020/05/20(水) 13:51:44.57ID:AVjmh1IR0 VB6で長年熟成された秘伝のソースをぽっと出のVB.netごときで再現できるわけがない
801デフォルトの名無しさん (オッペケ Srbb-jY78)
2020/05/20(水) 14:39:55.33ID:JM16LRl0r https://pc.watch.impress.co.jp/docs/news/1253193.html
Microsoft、Win32とUWPの2つのAPIを再統合する「Project Reunion」
Microsoft、Win32とUWPの2つのAPIを再統合する「Project Reunion」
802デフォルトの名無しさん (アウアウエー Sa52-NLVI)
2020/05/20(水) 14:41:38.06ID:mXqWoGfUa VBのツールいまだに動くからリプレイスする意味ない
放置が安全
放置が安全
803デフォルトの名無しさん (ワッチョイ 8b01-oW4g)
2020/05/20(水) 16:24:15.65ID:wnqJe1lz0 プロジェクト・リュニオン!
ゴー!リュニオン!
ゴー!リュニオン!
804デフォルトの名無しさん (ワッチョイ 6301-UYz0)
2020/05/20(水) 16:27:54.60ID:kLEW4Vt90 >>801
眩暈がして来た
眩暈がして来た
805デフォルトの名無しさん (アウアウウー Sac7-lIs9)
2020/05/20(水) 18:05:51.93ID:e2MEnn77a 要するに5年ぐらい前に言ってたはずの「Win32を全廃してUWPで一本化する」計画は
諦めたってこと?
まああの話も一瞬出ただけでその後まったく聞かなくなってたけど
>>798
アクセスレベルがprivateになってるとかではなくて?
っていうか、もしコントロールをユーザーコードで追加している場合だけ起こる(デザイナで追加した場合は起こらない)
問題だと分かっているなら変なこだわりを捨てればよいだけなのでは?
まあバグでプロパティがいじれないコントロールも一部あるらしい
https://teratail.com/questions/236012
諦めたってこと?
まああの話も一瞬出ただけでその後まったく聞かなくなってたけど
>>798
アクセスレベルがprivateになってるとかではなくて?
っていうか、もしコントロールをユーザーコードで追加している場合だけ起こる(デザイナで追加した場合は起こらない)
問題だと分かっているなら変なこだわりを捨てればよいだけなのでは?
まあバグでプロパティがいじれないコントロールも一部あるらしい
https://teratail.com/questions/236012
806デフォルトの名無しさん (オッペケ Srbb-yNr9)
2020/05/20(水) 18:40:47.31ID:t37lmoTKr デザイナはわりと属性見てるので、その辺ちゃんとやっとかないとうまくいかないことがある
807デフォルトの名無しさん (ワッチョイ 9763-xLuj)
2020/05/20(水) 19:08:47.13ID:2OJQAkVy0 リユニオンとか真っ黒になりそう
808デフォルトの名無しさん (ワッチョイ 8b01-oW4g)
2020/05/20(水) 20:43:28.09ID:wnqJe1lz0 トレイン変形!ゴー!リュニオン!
809デフォルトの名無しさん (ワッチョイ 9a01-hY51)
2020/05/21(木) 04:25:59.16ID:ShhpHDma0 winフォームアプリなのですが、Form1上のtextBox1に他クラスからアクセスしたい時って
Form1.Designer.csの下の方にあるフィールドをpublicに変えるのはよくない例ですか?
Form1のコンストラクタで自分自身を当該他クラスに引き渡す処理は済んでいます
Form1で、textBox1.TEXTをプロパティにして
他クラスからアクセスする方法も考えたんですけど、
じゃ、テキストボックスじゃなくてリストビューとかだとどうするんだとか考えたら
めんどくさいからもうpublicでいいんじゃないかとか思っちゃうんですけど
ベテランの皆さんはどうしてるんでしょうか
Form1.Designer.csの下の方にあるフィールドをpublicに変えるのはよくない例ですか?
Form1のコンストラクタで自分自身を当該他クラスに引き渡す処理は済んでいます
Form1で、textBox1.TEXTをプロパティにして
他クラスからアクセスする方法も考えたんですけど、
じゃ、テキストボックスじゃなくてリストビューとかだとどうするんだとか考えたら
めんどくさいからもうpublicでいいんじゃないかとか思っちゃうんですけど
ベテランの皆さんはどうしてるんでしょうか
810デフォルトの名無しさん (ワッチョイ 1aad-cFKA)
2020/05/21(木) 04:48:51.98ID:KUTx9pVe0 だめ
811デフォルトの名無しさん (ワッチョイ 9a01-hY51)
2020/05/21(木) 04:53:08.19ID:ShhpHDma0 >>810
はい、頑張って考えてみます
はい、頑張って考えてみます
812デフォルトの名無しさん (ワッチョイ 33a7-2bic)
2020/05/21(木) 07:23:16.29ID:iIzHpd9H0813デフォルトの名無しさん (ワッチョイ 8b01-crVl)
2020/05/21(木) 07:32:49.70ID:MQs/4XZV0 ボタン継承して新しいの作れば
814デフォルトの名無しさん (ワッチョイ 8b01-crVl)
2020/05/21(木) 07:33:55.89ID:MQs/4XZV0 あっtextboxか
815デフォルトの名無しさん (アウアウウー Sac7-anYt)
2020/05/21(木) 08:59:55.50ID:9RboWam4a internal でよくね?
816デフォルトの名無しさん (アウアウウー Sac7-lIs9)
2020/05/21(木) 11:45:51.28ID:LNx85Gx+a >>811
頑張って考えるまでもない。
XがFormを参照するんじゃなくて、FormがXを参照するように変えるだけ。
なぜUIの更新なんていう猿仕事を他のクラスにやらせようとするの?
それはUI自身の仕事だよ。
頑張って考えるまでもない。
XがFormを参照するんじゃなくて、FormがXを参照するように変えるだけ。
なぜUIの更新なんていう猿仕事を他のクラスにやらせようとするの?
それはUI自身の仕事だよ。
817デフォルトの名無しさん (ワッチョイ 9a01-hY51)
2020/05/21(木) 14:57:27.90ID:ShhpHDma0 >>812
誘惑にかられますわ
>>813-815
カスタムコントロールとかですか?
ググっていろいろ調べたんですけど面白そうですねこれ
今回の用途にどう使うのかについてはまだ理解できてないですけど
継承ってこういうことに使うんですね
>>816
つまり、他クラスからForm1のtextBox1に書き込む仕様自体がおかしいってことですか
Form1から他クラスに仕事させて、結果をForm1で受けとってForm1からtextBox1に書き込むべきという理解でよいですか
確かにそうですね
他クラスから書き込むとForm1のコードがスッキリするので気に入ってたんですけどよくないってことですね
他クラスの汎用性を奪っているとも言えますね
誘惑にかられますわ
>>813-815
カスタムコントロールとかですか?
ググっていろいろ調べたんですけど面白そうですねこれ
今回の用途にどう使うのかについてはまだ理解できてないですけど
継承ってこういうことに使うんですね
>>816
つまり、他クラスからForm1のtextBox1に書き込む仕様自体がおかしいってことですか
Form1から他クラスに仕事させて、結果をForm1で受けとってForm1からtextBox1に書き込むべきという理解でよいですか
確かにそうですね
他クラスから書き込むとForm1のコードがスッキリするので気に入ってたんですけどよくないってことですね
他クラスの汎用性を奪っているとも言えますね
818デフォルトの名無しさん (ワッチョイ 9a01-hY51)
2020/05/21(木) 15:28:29.26ID:ShhpHDma0 >>813-815
なんとなく分かりました
public partial class CustomTextBox1 : TextBox
こうやって定義してから、このクラスに処理のためのメソッドをおくとともに
自分自身のTextプロパティに書き込むようにしておく
で、このメソッドをForm1から呼んで処理させればボックスに書き込むことができるっていうことですね
あー勉強になりました
なんとなく分かりました
public partial class CustomTextBox1 : TextBox
こうやって定義してから、このクラスに処理のためのメソッドをおくとともに
自分自身のTextプロパティに書き込むようにしておく
で、このメソッドをForm1から呼んで処理させればボックスに書き込むことができるっていうことですね
あー勉強になりました
819デフォルトの名無しさん (ワッチョイ 9a01-hY51)
2020/05/21(木) 15:32:59.43ID:ShhpHDma0820デフォルトの名無しさん (ワッチョイ 0e84-BCZG)
2020/05/21(木) 17:41:35.31ID:66n7MLhy0 >>809
やり方は人それぞれなので何が良いとかないと思うけど、デザイナで操作できる
ところはデザイナで操作したほうが良いと思うよ
Designer.csをいじっても結果は同じなんだけど、おかしなコードを書くとデザイナの
挙動がおかしくなったりしてイランことに時間がかかったりするから
やり方は人それぞれなので何が良いとかないと思うけど、デザイナで操作できる
ところはデザイナで操作したほうが良いと思うよ
Designer.csをいじっても結果は同じなんだけど、おかしなコードを書くとデザイナの
挙動がおかしくなったりしてイランことに時間がかかったりするから
821デフォルトの名無しさん (スッップ Sdba-6rFm)
2020/05/21(木) 17:47:51.10ID:LaJH1wCvd 見掛けは同じように見えても、改行コードのせいでエラー吐いてたプロジェクトをなんとかしてくれと依頼されたことがある
822デフォルトの名無しさん (ワッチョイ 3761-crVl)
2020/05/21(木) 18:45:11.84ID:/Pr2yAaR0823デフォルトの名無しさん (ワッチョイ 2702-crVl)
2020/05/21(木) 18:58:27.14ID:MVvwgJKT0 空っぽのイベントハンドラを一発で消去する消去する方法は無いのでしょうか?
824デフォルトの名無しさん (ワッチョイ 6301-UYz0)
2020/05/21(木) 19:17:33.27ID:n40K1Wl40 日本語でOK
825デフォルトの名無しさん (ワッチョイ 9a01-hY51)
2020/05/21(木) 19:27:16.30ID:ShhpHDma0826デフォルトの名無しさん (アウアウウー Sac7-vdj3)
2020/05/21(木) 22:44:16.71ID:y7fmuH5Aa TextBox自体をpublicにするのはやっぱり微妙かなあ
自分だったらForm1クラスにpublic(or internal)なメソッドを作って、
メソッド名をTextBoxにアクセスする目的を明確に表す名前にする
たとえば、
void set合計金額Text(int price, Color textColor) { }
string get現在のその他欄入力値()
とか言った感じで
自分だったらForm1クラスにpublic(or internal)なメソッドを作って、
メソッド名をTextBoxにアクセスする目的を明確に表す名前にする
たとえば、
void set合計金額Text(int price, Color textColor) { }
string get現在のその他欄入力値()
とか言った感じで
827デフォルトの名無しさん (アウアウウー Sac7-vdj3)
2020/05/21(木) 22:49:45.68ID:y7fmuH5Aa あ、小文字始まりでJavaのsetter/getterみたいにしちゃったけどC#なら当然大文字始まり
受け取りたい項目が複数、例えポップアップ表示ダイアログの各項目の入力値を取り出すなら、
入力値を詰め込むInputValuesクラスとかを定義したうえで、
InputValues GetInputValues() { }
みたいなメソッドを作って入力値をオブジェクトで扱いやすくして返すようにする
受け取りたい項目が複数、例えポップアップ表示ダイアログの各項目の入力値を取り出すなら、
入力値を詰め込むInputValuesクラスとかを定義したうえで、
InputValues GetInputValues() { }
みたいなメソッドを作って入力値をオブジェクトで扱いやすくして返すようにする
828デフォルトの名無しさん (ワッチョイ 6301-UYz0)
2020/05/21(木) 22:58:08.80ID:n40K1Wl40 インデクサー作った方がスマートかな?
public var this[int i]
public var this[int i]
829デフォルトの名無しさん (ワッチョイ 33a7-2bic)
2020/05/21(木) 23:13:48.54ID:iIzHpd9H0 >>826
やめろやめろ
そんなバカなことなれて
コントロールが300個とかあるときどうするんだ
〜するべきとかそもそも元の造りがそんなふうになってないことのが多いのに
無駄なラッピングなんてするべきじゃない
想定するならそれが1000個あるときそれをやってられるかどうかを想定しろ
そもそも少数ならアクセス方法なんてどうだっていいだろ?
想定してるのは大量にある時なんだよね?
やめろやめろ
そんなバカなことなれて
コントロールが300個とかあるときどうするんだ
〜するべきとかそもそも元の造りがそんなふうになってないことのが多いのに
無駄なラッピングなんてするべきじゃない
想定するならそれが1000個あるときそれをやってられるかどうかを想定しろ
そもそも少数ならアクセス方法なんてどうだっていいだろ?
想定してるのは大量にある時なんだよね?
830デフォルトの名無しさん (ワッチョイ ba52-NhWw)
2020/05/21(木) 23:54:34.06ID:VEFS25bE0 >>829
何で勝手に膨大な数のコントロールがある前提なんだ?
質問者はそんなこと全く言ってないし、読んだ限りでは初心者が小規模なプログラムを作ってる可能性の方が高そうだ。
そういう相手に実務上の仕方なくやる汚いやり方を教えるより、場合によっては理想論になるかもしれないが基本的に良いとされる考え方をまず教えた方がいいだろう。
何で勝手に膨大な数のコントロールがある前提なんだ?
質問者はそんなこと全く言ってないし、読んだ限りでは初心者が小規模なプログラムを作ってる可能性の方が高そうだ。
そういう相手に実務上の仕方なくやる汚いやり方を教えるより、場合によっては理想論になるかもしれないが基本的に良いとされる考え方をまず教えた方がいいだろう。
831デフォルトの名無しさん (アウアウウー Sac7-vdj3)
2020/05/22(金) 00:00:35.63ID:2K6mKaTxa ???
おおもとの>>809では対象はtextBox1の一つだけみたいだけど
でこれがTextBoxからListViewに変わったときとかの話はあるけど
対象項目が大量なんて前提はどこから湧いてきたんだっけ?
というか1画面にコントロールが300個とか1000個とか配置されてて、
全部publicフィールドになってて、法則性もなくあらゆるコントロールに無尽蔵にアクセスする
なんて、その時点でソースから腐臭が漂ってるよ
そこまで酷い状態になってるなら諦めて全部publicにするしかないでしょう
後日メンテナンスしなきゃならないときの影響調査で死ぬだろうけど
おおもとの>>809では対象はtextBox1の一つだけみたいだけど
でこれがTextBoxからListViewに変わったときとかの話はあるけど
対象項目が大量なんて前提はどこから湧いてきたんだっけ?
というか1画面にコントロールが300個とか1000個とか配置されてて、
全部publicフィールドになってて、法則性もなくあらゆるコントロールに無尽蔵にアクセスする
なんて、その時点でソースから腐臭が漂ってるよ
そこまで酷い状態になってるなら諦めて全部publicにするしかないでしょう
後日メンテナンスしなきゃならないときの影響調査で死ぬだろうけど
832デフォルトの名無しさん (アウアウエー Sa52-NLVI)
2020/05/22(金) 01:09:32.35ID:xIO0+KZFa833デフォルトの名無しさん (アウアウウー Sac7-lIs9)
2020/05/22(金) 01:10:19.16ID:mKnPmupma834デフォルトの名無しさん (ワッチョイ b6de-2bic)
2020/05/22(金) 01:25:23.44ID:HA9eXiUk0835デフォルトの名無しさん (ワッチョイ 97de-2bic)
2020/05/22(金) 01:29:28.72ID:tRHrER1d0836デフォルトの名無しさん (アウアウウー Sac7-lIs9)
2020/05/22(金) 01:35:16.74ID:mKnPmupma837デフォルトの名無しさん (ワッチョイ b6de-2bic)
2020/05/22(金) 01:38:59.95ID:bg8HuHxQ0 >>836
publicにするのの何が駄目なん?
publicにするのの何が駄目なん?
838デフォルトの名無しさん (アウアウウー Sac7-lIs9)
2020/05/22(金) 01:47:55.06ID:mKnPmupma >>837
だから、それって「どうしてカプセル化なんて必要なの?」って聞いてるのと同じだよw
カプセル化が重要なのは人間の脳が複雑性に対して脆弱だから。
だから必要な物だけ見せてそうでないものは見せないことによって複雑性を減らす必要がある。
例外はあるが、基本的にはUIはメンバーを外部に公開する必要がない。
表示を更新するのも、ユーザー入力をモデルに伝達するのも全部それはUIの仕事。
それを他人にやらせようとする発想が根本的に間違っている
だから、それって「どうしてカプセル化なんて必要なの?」って聞いてるのと同じだよw
カプセル化が重要なのは人間の脳が複雑性に対して脆弱だから。
だから必要な物だけ見せてそうでないものは見せないことによって複雑性を減らす必要がある。
例外はあるが、基本的にはUIはメンバーを外部に公開する必要がない。
表示を更新するのも、ユーザー入力をモデルに伝達するのも全部それはUIの仕事。
それを他人にやらせようとする発想が根本的に間違っている
839デフォルトの名無しさん (ワッチョイ dbde-2bic)
2020/05/22(金) 01:54:29.41ID:sv4o2LUU0840デフォルトの名無しさん (アウアウウー Sac7-VIJV)
2020/05/22(金) 08:35:08.41ID:JafM55Gga841デフォルトの名無しさん (アウアウウー Sac7-anYt)
2020/05/22(金) 09:03:50.95ID:7ltZImPja UIスレッド以外のスレッドから操作されると危険だよね、単純にコントロールを公開すると。
842デフォルトの名無しさん (ワッチョイ 9a02-crVl)
2020/05/22(金) 09:10:28.54ID:VBq+8Qqi0 そう。後悔することになる。
843デフォルトの名無しさん (アウアウウー Sac7-TxaJ)
2020/05/22(金) 09:49:54.76ID:+j//r/2da 全部private readonlyにしろ
844デフォルトの名無しさん (ワッチョイ 3761-crVl)
2020/05/22(金) 10:09:40.93ID:ImtqKYD30 コントロールに直接アクセスを許すんじゃなくて根っこにあるデータへのアクセスを許すようにしとけばいいんじゃね?
コントロールとデータはBindingしてんだからそれでいいだろ
コントロールとデータはBindingしてんだからそれでいいだろ
845デフォルトの名無しさん (ワッチョイ 1b8c-crVl)
2020/05/22(金) 10:15:33.46ID:NtcwyNbz0 WinFormsだからバインディングはしてないとおもう
846デフォルトの名無しさん (ワッチョイ 0301-f9J/)
2020/05/22(金) 10:20:34.04ID:+ec+XM8b0 >>833
現実的に問題解決の方法が知りたい
現実的に問題解決の方法が知りたい
847デフォルトの名無しさん (アウアウウー Sac7-8pht)
2020/05/22(金) 10:32:58.69ID:I4qPJ3i7a >>841
それはフォームにメンバを追加してラップしたところで解決にならん
フォーム自身がコントロールとして元々持っている大量のメンバはどうするんだ?
もしスレッドセーフにしたいのならフォーム自体も公開してはいけない
それはフォームにメンバを追加してラップしたところで解決にならん
フォーム自身がコントロールとして元々持っている大量のメンバはどうするんだ?
もしスレッドセーフにしたいのならフォーム自体も公開してはいけない
848デフォルトの名無しさん (アウアウウー Sac7-lIs9)
2020/05/22(金) 12:22:25.06ID:/6UQkCjLa >>846
そんな大げさな話?
コントロールへのアクセスはFormの仕事だから他人にやらせようとせずにForm自身にやらせろと言っている。
これのどこがそんな難しい話?
ファミレスで客が厨房に乗り込んで注文出さないのと同じことだよ
注文を受けるのはウェイトレスの仕事
パスタの担当が厨房の佐藤さんであることを客が知ってないとナポリタンの注文を
出せなようなファミレスにあんた行きたいか?w
そんな大げさな話?
コントロールへのアクセスはFormの仕事だから他人にやらせようとせずにForm自身にやらせろと言っている。
これのどこがそんな難しい話?
ファミレスで客が厨房に乗り込んで注文出さないのと同じことだよ
注文を受けるのはウェイトレスの仕事
パスタの担当が厨房の佐藤さんであることを客が知ってないとナポリタンの注文を
出せなようなファミレスにあんた行きたいか?w
849デフォルトの名無しさん (アウアウウー Sac7-VIJV)
2020/05/22(金) 12:30:46.95ID:JafM55Gga850デフォルトの名無しさん (ブーイモ MM26-NLVI)
2020/05/22(金) 13:06:32.78ID:Yx9iiiQWM ぶっちゃけアーキテクチャパターンと規模次第
MVVM、MVU、MVCの場合はVの機能をV以外に公開することは滅多にない
MVPでは逆にVの基本的な機能をインターフェースで抽象化して積極的にPに公開してコントロールを委ねる
Formの主力アーキテクチャはどうなっているかというとMVPのVPが結合した怠惰なアーキテクチャになってる場合が非常に多い
丁寧に作るならPに書くべきコードが手抜きされてVのFormイベントに書かれてしまっている状態
VPが結合してるからprivateなコントロールを抽象化しなくてもアクセスすることはできる
しかしそれでは規模が大きくなるほどメンテナンスしにくくなる
VPが結合していても基本的な機能を抽象化しておくと後々のメンテナンスが楽になる
このような自クラス内部に向けて抽象化された安全なインターフェースを提供する開発手法を自己カプセル化と言う
MVVM、MVU、MVCの場合はVの機能をV以外に公開することは滅多にない
MVPでは逆にVの基本的な機能をインターフェースで抽象化して積極的にPに公開してコントロールを委ねる
Formの主力アーキテクチャはどうなっているかというとMVPのVPが結合した怠惰なアーキテクチャになってる場合が非常に多い
丁寧に作るならPに書くべきコードが手抜きされてVのFormイベントに書かれてしまっている状態
VPが結合してるからprivateなコントロールを抽象化しなくてもアクセスすることはできる
しかしそれでは規模が大きくなるほどメンテナンスしにくくなる
VPが結合していても基本的な機能を抽象化しておくと後々のメンテナンスが楽になる
このような自クラス内部に向けて抽象化された安全なインターフェースを提供する開発手法を自己カプセル化と言う
851デフォルトの名無しさん (ワッチョイ 072c-QPgs)
2020/05/22(金) 13:17:57.12ID:F9tTEKoS0 規模が小さい練習用のアプリなら>>826 の言ってるように組むと思うけどな。なにが問題なんだ
852デフォルトの名無しさん (テテンテンテン MMb6-8pht)
2020/05/22(金) 13:22:07.31ID:jD2+szsjM >>849
そういう問題じゃない
注文相手がウェイトレスだろうと厨房にいる店主のオッサンだろうと、客がすることは「注文を店の人に伝える」だ
その注文を受けて店がどうするかという実装の詳細は知ったことではない
ケースバイケースで判断するべきは、そのフォーム同士のやり取りが客と店の間で行われるのか、それとも店の中で行われるのか、という点
後者なら例えばウェイトレスが厨房の設備のレイアウト等を知っていることを前提としてコックへ依頼をすることは店の規模次第では許されるし、そうしたほうが手っ取り早いケースは多いだろう
これは突き詰めると責任分界の問題で、フォームの役割や開発チームの構成等によって最適解は変わってくる
そういう問題じゃない
注文相手がウェイトレスだろうと厨房にいる店主のオッサンだろうと、客がすることは「注文を店の人に伝える」だ
その注文を受けて店がどうするかという実装の詳細は知ったことではない
ケースバイケースで判断するべきは、そのフォーム同士のやり取りが客と店の間で行われるのか、それとも店の中で行われるのか、という点
後者なら例えばウェイトレスが厨房の設備のレイアウト等を知っていることを前提としてコックへ依頼をすることは店の規模次第では許されるし、そうしたほうが手っ取り早いケースは多いだろう
これは突き詰めると責任分界の問題で、フォームの役割や開発チームの構成等によって最適解は変わってくる
853デフォルトの名無しさん (ワッチョイ 6301-UYz0)
2020/05/22(金) 13:33:40.82ID:H3nV2EgY0 そう言う実装がヤバいってのを
身を持って体験するのも勉強の一つじゃね?
初心者スレなんだし😅
身を持って体験するのも勉強の一つじゃね?
初心者スレなんだし😅
854デフォルトの名無しさん (ワッチョイ 5a01-S/TN)
2020/05/22(金) 13:59:56.31ID:IED0c2cK0 客: 「すみませーん、注文お願いします」
店員:「注文はそちらのタブレットからお願いします」(NotImplementedException)
店員:「注文はそちらのタブレットからお願いします」(NotImplementedException)
855デフォルトの名無しさん (ワッチョイ ba52-NhWw)
2020/05/22(金) 14:44:15.74ID:YTFb7Y3X0 >>853
初心者のうちに気づける失敗はどんどん経験させた方がいいと思うけど、今回の話みたいに、規模が小さいうちは悪手でも問題なくてそれに気づかず変な癖をつけてしまって、後になって大きな規模で問題に直面することもあるからちゃんと説明するのは大事だと思う。
初心者のうちに気づける失敗はどんどん経験させた方がいいと思うけど、今回の話みたいに、規模が小さいうちは悪手でも問題なくてそれに気づかず変な癖をつけてしまって、後になって大きな規模で問題に直面することもあるからちゃんと説明するのは大事だと思う。
856デフォルトの名無しさん (アウアウエー Sa52-NLVI)
2020/05/22(金) 14:50:45.75ID:I90ID8Hwa >>851
規模が大きくなるほど抽象化が重要になる
規模が大きくなるほど抽象化が重要になる
857デフォルトの名無しさん (ワッチョイ b6de-2bic)
2020/05/22(金) 15:17:04.96ID:aYr0yvAC0858デフォルトの名無しさん (ワッチョイ df63-ONnU)
2020/05/22(金) 16:16:46.92ID:GLaq/xoS0 ビジネスホテルの朝バイキングたのしいよね
859デフォルトの名無しさん (ブーイモ MM7f-t91P)
2020/05/22(金) 17:41:35.26ID:49gWHqYrM 朝バイキングあるような高級ビジネスホテルなんて泊まったこと無いな
860デフォルトの名無しさん (ワッチョイ dbde-2bic)
2020/05/22(金) 17:59:13.72ID:mtheMDmH0 >>859
東横インにもないのかよ
東横インにもないのかよ
861デフォルトの名無しさん (ワッチョイ cb59-x2L0)
2020/05/22(金) 18:29:14.17ID:7QsDy1x+0862デフォルトの名無しさん (ワッチョイ 1b8c-crVl)
2020/05/22(金) 18:48:22.56ID:NtcwyNbz0 東横インって高級ビジネスホテルなの?
863デフォルトの名無しさん (ワッチョイ 0e2d-f9m4)
2020/05/22(金) 18:51:49.21ID:W0pT+Psy0 >>861
ドーミーインはちょっぴり高級
ドーミーインはちょっぴり高級
864デフォルトの名無しさん (ブーイモ MM7f-t91P)
2020/05/22(金) 19:05:57.40ID:49gWHqYrM >>860
東横インの朝食をバイキングと呼ぶかね?
東横インの朝食をバイキングと呼ぶかね?
865デフォルトの名無しさん (ワッチョイ 977b-KA8w)
2020/05/22(金) 19:17:57.88ID:V6jLBdBV0 役に立たない議論と雑談をどれだけ続けるんだお前ら
マ板でやれ
マ板でやれ
866デフォルトの名無しさん (ワッチョイ 5a01-S/TN)
2020/05/23(土) 00:48:15.75ID:KnmbZWpz0867デフォルトの名無しさん (テテンテンテン MMb6-8pht)
2020/05/23(土) 00:54:53.82ID:dlI7NS18M もう関数型言語だな
ジャパニーズドカタは完全に置き去り
ジャパニーズドカタは完全に置き去り
868デフォルトの名無しさん (ワッチョイ 9a6a-crVl)
2020/05/23(土) 01:08:33.82ID:Gttmmg320 遂に登場!コピーコンストラクタ
not とか and とか basic ぽい
でも is not はいいね
Covariant returns 個人的には欲しかった機能
not とか and とか basic ぽい
でも is not はいいね
Covariant returns 個人的には欲しかった機能
869デフォルトの名無しさん (ワッチョイ a302-crVl)
2020/05/23(土) 07:48:04.30ID:tXW5Hyqw0 .NET5に合わせる感じか
結構良い感じだけど付いていけない老害は騒ぐだろうな
結構良い感じだけど付いていけない老害は騒ぐだろうな
870デフォルトの名無しさん (ワッチョイ 032d-ze6u)
2020/05/23(土) 11:45:11.67ID:USRRjb5n0 withってコンストラクタは呼ばれるのかな?
871デフォルトの名無しさん (ブーイモ MM26-NLVI)
2020/05/23(土) 12:49:31.00ID:YCd5Ugn0M 便利になるのは嬉しいけど最近、他の言語の後追いが多くねえか?
async/awaitのときみたいな、C#すげえって感動をまた味わいたいものだ
async/awaitのときみたいな、C#すげえって感動をまた味わいたいものだ
872デフォルトの名無しさん (ワッチョイ a3ad-T1cz)
2020/05/23(土) 12:58:29.38ID:MMWDLofe0 何気にトップレベルで直接プログラムが開始できるの嬉しいな。
小さいスクリプト的な使い方で便利になるかもしれん。
dotnet run xxxx.csみたいに出来ると言うことないな。
小さいスクリプト的な使い方で便利になるかもしれん。
dotnet run xxxx.csみたいに出来ると言うことないな。
873デフォルトの名無しさん (ドコグロ MM92-zJk2)
2020/05/23(土) 14:33:05.59ID:N5u382BOM >>872
個人的にはやり過ぎだと思うわ
コンパイルが不要になるわけじゃないしちょっと複雑なことしようと思ったら変数宣言も要るからあんまりメリットに思えない
スクリプトならPowerShellでお腹いっぱい
個人的にはやり過ぎだと思うわ
コンパイルが不要になるわけじゃないしちょっと複雑なことしようと思ったら変数宣言も要るからあんまりメリットに思えない
スクリプトならPowerShellでお腹いっぱい
874デフォルトの名無しさん (アウアウエー Sa52-NLVI)
2020/05/23(土) 14:39:56.71ID:wudsPJksa CakeやC# Scriptがすでにあるしなぁ
Record周りの新機能といい、C#チームはTypeScriptを真似しようとしてるのかね
Record周りの新機能といい、C#チームはTypeScriptを真似しようとしてるのかね
875デフォルトの名無しさん (テテンテンテン MMb6-8pht)
2020/05/23(土) 14:50:01.02ID:rR3WkHU8M 今時のWeb開発だとマイクロサービス指向で小物を沢山作ることが多くなってて、
振る舞いを色々備えててカプセル化とかもきっちりやったリッチなモデルよりも、単にデータクラスを関数で弄るだけみたいなスタイルが主流になりつつあるんだよ
Main省略もその文脈で言えば自然
最近のC#周りは完全にアメリカで主流な内製開発に迎合していて、日本のドカタには理解されにくいね
振る舞いを色々備えててカプセル化とかもきっちりやったリッチなモデルよりも、単にデータクラスを関数で弄るだけみたいなスタイルが主流になりつつあるんだよ
Main省略もその文脈で言えば自然
最近のC#周りは完全にアメリカで主流な内製開発に迎合していて、日本のドカタには理解されにくいね
876デフォルトの名無しさん (ワッチョイ a3ad-T1cz)
2020/05/23(土) 15:00:31.21ID:MMWDLofe0 >>873
コンパイルがまるで不要かのように振る舞わせたいんだと思うよ。
replできたり、dotnetコマンド見てると。
確かに、csxはどうしたいんだろうな。
個人的にはPowerShellは抵抗感あるかもしれん。
コンパイルがまるで不要かのように振る舞わせたいんだと思うよ。
replできたり、dotnetコマンド見てると。
確かに、csxはどうしたいんだろうな。
個人的にはPowerShellは抵抗感あるかもしれん。
877デフォルトの名無しさん (アウアウエー Sa52-NLVI)
2020/05/23(土) 16:46:21.29ID:wudsPJksa 新しいものごとを追求するのはNodeとかにまかせておけばいい
静的並の型安全性、動的の起動速度、モダンな構文、モダンな機能、豊富なパッケージと全てが揃ってるからC#が追いかけても勝ち目ない
C#に求められてるのは業務向けの特性、つまり安定性、安全性、後方互換性、学習の簡単さ(シンプルさとも言える)とかだよ
ポストJavaにふさわしい言語に育ってほしい
静的並の型安全性、動的の起動速度、モダンな構文、モダンな機能、豊富なパッケージと全てが揃ってるからC#が追いかけても勝ち目ない
C#に求められてるのは業務向けの特性、つまり安定性、安全性、後方互換性、学習の簡単さ(シンプルさとも言える)とかだよ
ポストJavaにふさわしい言語に育ってほしい
878デフォルトの名無しさん (ワッチョイ a3ad-T1cz)
2020/05/23(土) 17:07:15.43ID:MMWDLofe0 追いかけてると言うよりも、ニーズがあるんだと思うよ。
実際にはnodeとかより、同じコンパイル言語のkotlinあたりからの機能な印象が強い。
initアクセサとか。
あと、データクラスの
public data class Person(string FirstName, string LastName);
は実際、滅茶苦茶便利だと思う。これもkotlinでもできる。
ポストJavaは言うとおりだと思うけど。
実際にはnodeとかより、同じコンパイル言語のkotlinあたりからの機能な印象が強い。
initアクセサとか。
あと、データクラスの
public data class Person(string FirstName, string LastName);
は実際、滅茶苦茶便利だと思う。これもkotlinでもできる。
ポストJavaは言うとおりだと思うけど。
879デフォルトの名無しさん (ワッチョイ 93ac-PSKl)
2020/05/23(土) 17:21:33.60ID:FaM1nYaB0 Java並みに実行環境に依存しないの?
880デフォルトの名無しさん (ワッチョイ a3ad-T1cz)
2020/05/23(土) 17:39:18.54ID:MMWDLofe0 Java並の求めるレベルがわからんが、OS無しのJavaチップとかまで入れられると完敗だな。
.net coreであれば、LinuxかmacかWindowsなら、ってレベルで良いなら全然大丈夫だし、armでも動くし、
.NET 5なら純正でAndroidやiOSでも大丈夫って言えるんじゃない?
.net coreであれば、LinuxかmacかWindowsなら、ってレベルで良いなら全然大丈夫だし、armでも動くし、
.NET 5なら純正でAndroidやiOSでも大丈夫って言えるんじゃない?
881デフォルトの名無しさん (ドコグロ MM03-zJk2)
2020/05/23(土) 17:53:05.15ID:/js8a+7YM >>876
> コンパイルがまるで不要かのように振る舞わせたいんだと思うよ。
それはあまり無理なくできると思うけど、今の言語仕様のままだと
class Program{
static void Main() {
}
}
を書かなくて済むって言うだけだからそんなに嬉しいような気がしないんだけど
> 個人的にはPowerShellは抵抗感あるかもしれん。
まあPowerShellは好き嫌いがあるとは思う
俺も配列周りはちょっと嫌
> コンパイルがまるで不要かのように振る舞わせたいんだと思うよ。
それはあまり無理なくできると思うけど、今の言語仕様のままだと
class Program{
static void Main() {
}
}
を書かなくて済むって言うだけだからそんなに嬉しいような気がしないんだけど
> 個人的にはPowerShellは抵抗感あるかもしれん。
まあPowerShellは好き嫌いがあるとは思う
俺も配列周りはちょっと嫌
882デフォルトの名無しさん (ワッチョイ 6301-UYz0)
2020/05/23(土) 18:28:01.11ID:KZXlBn7S0 GUI より簡単に目的を達せられるのが
CUIのメリットなのに、何で全部フルスペルで
冗長やねん。これの設計した奴アホか
CUIのメリットなのに、何で全部フルスペルで
冗長やねん。これの設計した奴アホか
883デフォルトの名無しさん (ワッチョイ d7da-crVl)
2020/05/23(土) 18:37:48.48ID:yVIq4Zo10 もうF#でよくね?
884デフォルトの名無しさん (オッペケ Srbb-crVl)
2020/05/23(土) 20:35:16.02ID:82HS7qFwr 普通にC#はすたれていくと思う
他の言語より優れた面がかなり少なくなってきて仕様がファットになりすぎてきてる
それでいて簡便にも書けない
思想が違うのはわかるけど…
他の言語より優れた面がかなり少なくなってきて仕様がファットになりすぎてきてる
それでいて簡便にも書けない
思想が違うのはわかるけど…
885デフォルトの名無しさん (ワッチョイ 2702-CPqG)
2020/05/23(土) 20:55:20.41ID:e9KeJQaL0 別に開発環境なんて何でもいいじゃん。
要望があったり、使いやすいものを選択すればいいだけ。
言語スレで言う台詞じゃないけど。w
C# は言語仕様もそうだけど、それ以上に VS が秀逸すぎる。
要望があったり、使いやすいものを選択すればいいだけ。
言語スレで言う台詞じゃないけど。w
C# は言語仕様もそうだけど、それ以上に VS が秀逸すぎる。
886デフォルトの名無しさん (ワッチョイ 9a6a-crVl)
2020/05/23(土) 21:24:54.50ID:Gttmmg320 >>878
未確認飛行を読むとinitなんかは随分前から課題になってたらしいね
未確認飛行を読むとinitなんかは随分前から課題になってたらしいね
887デフォルトの名無しさん (オッペケ Srbb-jY78)
2020/05/23(土) 22:05:55.36ID:KgH++zHFr c#って簡単なWinFormアプリとUnityくらいしか実際に使われていないよな
888デフォルトの名無しさん (ワッチョイ 33a7-2bic)
2020/05/23(土) 22:09:11.22ID:V60pRoIY0 でもいきなりandroidやwebアプリって心が折れて死にかねんような?
889デフォルトの名無しさん (ワッチョイ bea7-Z84n)
2020/05/23(土) 22:26:03.33ID:+sMsxQfC0 やる気の問題じゃ
890デフォルトの名無しさん (ワッチョイ 1aad-cFKA)
2020/05/23(土) 22:27:56.42ID:kbRausRQ0 >>887
ねーよ
ねーよ
891デフォルトの名無しさん (オッペケ Srbb-crVl)
2020/05/23(土) 22:34:26.01ID:82HS7qFwr なんだってやる気の問題ならC#使わないでアセンブラででも書けばいい
892デフォルトの名無しさん (ワッチョイ 032d-ze6u)
2020/05/23(土) 22:38:04.92ID:USRRjb5n0 Webの学習は心が折れるわ
ASP.Net coreのチュートリアルは長い上、終わった部分にも結構な謎が残る
例えば、データベースサーバをアカウント管理とそれ以外と別にしたい場合、どうするのが正攻法なのか?とか、全然わからん
ASP.Net coreのチュートリアルは長い上、終わった部分にも結構な謎が残る
例えば、データベースサーバをアカウント管理とそれ以外と別にしたい場合、どうするのが正攻法なのか?とか、全然わからん
893デフォルトの名無しさん (ワッチョイ 5a01-S/TN)
2020/05/23(土) 23:37:02.82ID:KnmbZWpz0 >データベースサーバをアカウント管理とそれ以外と別にしたい場合、どうするのが正攻法なのか?
それWebもASP.NETも関係なくね?
それWebもASP.NETも関係なくね?
894デフォルトの名無しさん (ワッチョイ 032d-ze6u)
2020/05/23(土) 23:51:57.43ID:USRRjb5n0 そこを1文切り取られちゃうとそうかもな
どうか、ASP.Net coreを使うときの話でって前提で頼みまんす
どうか、ASP.Net coreを使うときの話でって前提で頼みまんす
895デフォルトの名無しさん (ワッチョイ a3ad-T1cz)
2020/05/24(日) 00:05:07.40ID:gPIK88xN0 C#廃れるかな?
ここが巻き返し時だと思うけど。
Windowsで開発するときはC#一択だったのが、他の環境でもC#を選べるようになってきたんだし。
ファットと言うほどファットでないと言うか、必ずしも使わなくても良い機能は確かに増えたけど、使わなければ良いだけだと思うけどな。
Xamarinが.net本家に合流とかときめくけどね。
>>886
そうなんだ?あんまり最近読んでなかったな…
ここが巻き返し時だと思うけど。
Windowsで開発するときはC#一択だったのが、他の環境でもC#を選べるようになってきたんだし。
ファットと言うほどファットでないと言うか、必ずしも使わなくても良い機能は確かに増えたけど、使わなければ良いだけだと思うけどな。
Xamarinが.net本家に合流とかときめくけどね。
>>886
そうなんだ?あんまり最近読んでなかったな…
896デフォルトの名無しさん (ワッチョイ a302-crVl)
2020/05/24(日) 00:22:33.70ID:oKSUDOq10 廃れるとは全く思わんね
VSに寄るところが大きいけどWindows向けであればこんな簡単に開発できる環境は他にないし
VSに寄るところが大きいけどWindows向けであればこんな簡単に開発できる環境は他にないし
897デフォルトの名無しさん (テテンテンテン MMb6-8pht)
2020/05/24(日) 00:24:21.69ID:TzQxyCjoM >>894
コネクションを複数使い分けたらいいだけだろ
EFならDbContext分けるだけ
フェデレーションとか使う手もあるが、インフラに変な前提を持ち込むのは個人的にはお勧めしない
管理対象が増えて結果的に余計に面倒になる
コネクションを複数使い分けたらいいだけだろ
EFならDbContext分けるだけ
フェデレーションとか使う手もあるが、インフラに変な前提を持ち込むのは個人的にはお勧めしない
管理対象が増えて結果的に余計に面倒になる
898デフォルトの名無しさん (アウアウウー Sac7-8pht)
2020/05/24(日) 00:37:52.59ID:j6xo7mIMa 廃れるかどうかはAzureで.NETアプリのPaaS環境をどれだけ整備できるか次第じゃないかな
少なくとも今のAzure App Serviceはクソ以外の何者でもないし、
最近のAzureはコンテナに傾倒してるが.NETアプリをコンテナ化するニーズとか皆無なので厳しい状況だが
少なくとも今のAzure App Serviceはクソ以外の何者でもないし、
最近のAzureはコンテナに傾倒してるが.NETアプリをコンテナ化するニーズとか皆無なので厳しい状況だが
899デフォルトの名無しさん (ワッチョイ 1aad-cFKA)
2020/05/24(日) 02:00:47.62ID:/j9jSa3n0 皆無なわけないやろ
900デフォルトの名無しさん (ワッチョイ 6301-UYz0)
2020/05/24(日) 04:02:39.65ID:0NoVcrVy0901デフォルトの名無しさん (ワッチョイ 3761-K6TK)
2020/05/24(日) 07:59:15.47ID:JGT9mP/J0 ちょまど事件てなに?
902デフォルトの名無しさん (ワッチョイ a3ad-T1cz)
2020/05/24(日) 08:52:34.10ID:gPIK88xN0 あれはまぁ確かに。
やらかしたと思ったけど。
ただ、若い姉ちゃんだったから余計に問題になったんだけど、なんとかユーザーグループってえらいおっちゃんにも囲む会とかするぞ。
で、ユーザーグループでの事案を選定の対象外にするのはちょっとお門違いな気がするわ。
正式セミナーではなくて、ユーザグループの勉強会だしな。
>>901
Xamarin勉強会で誕生日祝って、結果的にサイン会とツーショット会になった。
やらかしたと思ったけど。
ただ、若い姉ちゃんだったから余計に問題になったんだけど、なんとかユーザーグループってえらいおっちゃんにも囲む会とかするぞ。
で、ユーザーグループでの事案を選定の対象外にするのはちょっとお門違いな気がするわ。
正式セミナーではなくて、ユーザグループの勉強会だしな。
>>901
Xamarin勉強会で誕生日祝って、結果的にサイン会とツーショット会になった。
903デフォルトの名無しさん (ワッチョイ 33a7-2bic)
2020/05/24(日) 09:05:33.12ID:HTbn0mhn0 救えねぇw
904デフォルトの名無しさん (アウアウウー Sac7-vdj3)
2020/05/24(日) 09:12:12.58ID:XUG+Lg/fa へ?それだけ??
何か刑事事件になるような話だったりパワハラセクハラ方面の倫理的な問題とかでもなくて?
開発技術選定に影響を与えるような話には思えないんだけど
>>900のいう「まともな会社」ってのはこういう話を基準に意思決定するものなのか
何か刑事事件になるような話だったりパワハラセクハラ方面の倫理的な問題とかでもなくて?
開発技術選定に影響を与えるような話には思えないんだけど
>>900のいう「まともな会社」ってのはこういう話を基準に意思決定するものなのか
905デフォルトの名無しさん (ワッチョイ 33a7-2bic)
2020/05/24(日) 09:21:00.69ID:HTbn0mhn0906デフォルトの名無しさん (ワッチョイ df63-ONnU)
2020/05/24(日) 09:25:30.49ID:admc8lsI0 https://pbs.twimg.com/media/CyKXMkvUsAAkB_g?format=jpg&name=900x900
まあこういうの見ると気持ち悪いのは確か
まあこういうの見ると気持ち悪いのは確か
907デフォルトの名無しさん (ワッチョイ a3ad-T1cz)
2020/05/24(日) 09:28:31.85ID:gPIK88xN0 まあ間違いなく悪ノリはあるんよ。
そればっかりはなんとも言いづらいんだけど。
ただ、Xamarin自体はそう悪いもんじゃないよ。ずっと使ってるけど。
そればっかりはなんとも言いづらいんだけど。
ただ、Xamarin自体はそう悪いもんじゃないよ。ずっと使ってるけど。
908デフォルトの名無しさん (ワッチョイ a3ad-T1cz)
2020/05/24(日) 09:30:09.33ID:gPIK88xN0909デフォルトの名無しさん (ワッチョイ 6301-UYz0)
2020/05/24(日) 09:33:22.79ID:0NoVcrVy0910デフォルトの名無しさん (ワッチョイ a3ad-T1cz)
2020/05/24(日) 09:34:55.56ID:gPIK88xN0911デフォルトの名無しさん (ワッチョイ 6301-UYz0)
2020/05/24(日) 09:40:59.00ID:0NoVcrVy0 別に本人が悪いとは言っとらんでそ。
JXUGのポジションがおかしい
MS系のセミナーなんて品川や新宿でも
やっていたんだが(SE主催とか本社主催とか)、
主催者が俺達はお前らより偉い。
理由は神に近いからだってスライドあげて
同意を得られると思う?
JXUGのポジションがおかしい
MS系のセミナーなんて品川や新宿でも
やっていたんだが(SE主催とか本社主催とか)、
主催者が俺達はお前らより偉い。
理由は神に近いからだってスライドあげて
同意を得られると思う?
912デフォルトの名無しさん (ワッチョイ 33a7-2bic)
2020/05/24(日) 09:44:09.04ID:HTbn0mhn0 >>910
でもね
みんなやたらと情報出て来ないし
割りかし本気でそういう意図なの?って思ったんだよ
俺らと仲良くしないとxamarinでの開発はできないからね
っていう意図に感じた
その後に気持ち悪いケーキカットでしょ?
ああ、そう、そうなのね・・・
でもね
みんなやたらと情報出て来ないし
割りかし本気でそういう意図なの?って思ったんだよ
俺らと仲良くしないとxamarinでの開発はできないからね
っていう意図に感じた
その後に気持ち悪いケーキカットでしょ?
ああ、そう、そうなのね・・・
913デフォルトの名無しさん (アウアウウー Sac7-vdj3)
2020/05/24(日) 09:47:54.26ID:XUG+Lg/fa えっと、気持ち悪いのはXamarinコミュニティ界隈ってことなのね?
>>905の書き込みのほうがよっぽどネットストーカーというか気持ち悪いアンチっぽく見えたんだけど
ていうかC#が廃れる原因がちょまどって話じゃなかったのね、誤読してたわ
Xamarinは使ったことないから自分にはわからん
>>905の書き込みのほうがよっぽどネットストーカーというか気持ち悪いアンチっぽく見えたんだけど
ていうかC#が廃れる原因がちょまどって話じゃなかったのね、誤読してたわ
Xamarinは使ったことないから自分にはわからん
914デフォルトの名無しさん (ワッチョイ 33a7-2bic)
2020/05/24(日) 09:50:45.90ID:HTbn0mhn0915デフォルトの名無しさん (ワッチョイ a3ad-T1cz)
2020/05/24(日) 09:51:50.80ID:gPIK88xN0 まあJXUGに関してはどうとも言えんけど、別に喧嘩しながらやる必要もないし、逆に仲良くしながらやる必要もないぞ。
Xamarin普通に使ってるけど、とくに利益相反は無い。
Xamarin自体は良いもんだから、それが誤解されるのはちょっと悲しいわ。
あんまり変な色眼鏡で見ないほうがいいと思うの。
Xamarin普通に使ってるけど、とくに利益相反は無い。
Xamarin自体は良いもんだから、それが誤解されるのはちょっと悲しいわ。
あんまり変な色眼鏡で見ないほうがいいと思うの。
916デフォルトの名無しさん (ワッチョイ a3ad-T1cz)
2020/05/24(日) 09:53:40.98ID:gPIK88xN0 坊主憎くて袈裟まで憎いになったら、ほんとつまんない結果にしかならんよ。
917デフォルトの名無しさん (ワッチョイ 6301-UYz0)
2020/05/24(日) 09:58:48.44ID:0NoVcrVy0918デフォルトの名無しさん (ワッチョイ a3ad-T1cz)
2020/05/24(日) 10:03:40.11ID:gPIK88xN0 いちいちユーザーグループのいち登壇者のいちスライドに対して反論したりしてたらきりないっしょ。
なんか、よっぽど嫌いなんだなとしか言いようがないと言うか。
ちょっとその反応度の高さに引くわ。
ユーザグループとかああいうノリ自体、輪に入る、聞き流すという行為が苦手なのかね。
なんか、よっぽど嫌いなんだなとしか言いようがないと言うか。
ちょっとその反応度の高さに引くわ。
ユーザグループとかああいうノリ自体、輪に入る、聞き流すという行為が苦手なのかね。
919デフォルトの名無しさん (アウアウウー Sac7-7RJm)
2020/05/24(日) 10:05:41.83ID:DCX/O0u/a WebView2がC#でも使えるようになったけどフォームに貼り付けて実行するだけで
ヌルポになるんだけどなぜだろう
ヌルポになるんだけどなぜだろう
920デフォルトの名無しさん (ワッチョイ 9a1a-fHJf)
2020/05/24(日) 10:19:41.16ID:Zr7A90Cs0 >>909
うわ吐きそう
うわ吐きそう
921デフォルトの名無しさん (アウアウウー Sac7-8pht)
2020/05/24(日) 10:20:21.28ID:N7cNYcK3a >>918
ちょまど祭り上げはde:codeの公式セッションなんかでも結構やってるよ
AWSやGCPのイベントにも何度か参加したけど、それらに比べても明らかにノリが気持ち悪いのは残念ながら事実
あれ米国MSのゲストも変な顔してたしいい加減怒られるんじゃないか
ちょまど祭り上げはde:codeの公式セッションなんかでも結構やってるよ
AWSやGCPのイベントにも何度か参加したけど、それらに比べても明らかにノリが気持ち悪いのは残念ながら事実
あれ米国MSのゲストも変な顔してたしいい加減怒られるんじゃないか
922デフォルトの名無しさん (アウアウエー Sa52-NLVI)
2020/05/24(日) 10:20:50.32ID:q/17zy3Ka 新しいUIフレームワークでるしXamarinも終わりでしょ
923デフォルトの名無しさん (ワッチョイ 6778-crVl)
2020/05/24(日) 10:36:01.07ID:egXQI+sn0 あれはXamarinの後継だよ
924デフォルトの名無しさん (オッペケ Srbb-jY78)
2020/05/24(日) 11:24:16.37ID:390U+iwor >>909
これは気持ちわりい!!!!!
これは気持ちわりい!!!!!
925デフォルトの名無しさん (ワッチョイ 5b40-m5P2)
2020/05/24(日) 11:38:45.43ID:X8UkIXV20 何の話だと思って調べてみたら、男ばかりのオタコミュあるあるやん
持ち上げにノルひととノラナイひとで対立させた以上、これをサークルクラッシュと呼ぶんだよなぁ・・・
持ち上げにノルひととノラナイひとで対立させた以上、これをサークルクラッシュと呼ぶんだよなぁ・・・
926デフォルトの名無しさん (アウアウウー Sac7-lIs9)
2020/05/24(日) 13:20:51.13ID:GPV2jvNGa 日本人のメンタリティーの基盤ってつくづく「村人」なんだねw
どのセクターもみんな「村」の中の人間関係に対する関心が異様に高い。
横溝正史の小説の世界だな。
日本人のこういうところ、他人事として俯瞰してみたら陰湿でダセーと思う人の方が
多いはずだと思うんだけど
どのセクターもみんな「村」の中の人間関係に対する関心が異様に高い。
横溝正史の小説の世界だな。
日本人のこういうところ、他人事として俯瞰してみたら陰湿でダセーと思う人の方が
多いはずだと思うんだけど
927デフォルトの名無しさん (スププ Sdba-T1cz)
2020/05/24(日) 13:45:48.89ID:vlMud3Add928デフォルトの名無しさん (ワッチョイ 6301-UYz0)
2020/05/24(日) 15:13:53.64ID:0NoVcrVy0 名前を変えてくれないと、提案書書いても
通らないので困る。
通らないので困る。
929デフォルトの名無しさん (ワッチョイ a3ad-T1cz)
2020/05/24(日) 16:23:34.69ID:gPIK88xN0 よくそんな基準でNG出るなぁ。
結構不思議かもしれん。
MSが明確にあのイベントのあの取り組みを後援したならそりゃNG出るだろうけど、特に止めなかった程度でコンプラ違反として扱うのはどうかと思うが。
単純に興味があるが、MSがなんていう声明を出せば良いんだろう?
別に庇ってるわけじゃなくて、一部に悪ノリがあることはわかってるが、我々の関知するべきものではないという判断なんだが。
うちは普通に使うべきシーンでは使ってるけどな。
というか技術選定にコミュニティも何も無いと言うか。
便利なのにもったいない。
結構不思議かもしれん。
MSが明確にあのイベントのあの取り組みを後援したならそりゃNG出るだろうけど、特に止めなかった程度でコンプラ違反として扱うのはどうかと思うが。
単純に興味があるが、MSがなんていう声明を出せば良いんだろう?
別に庇ってるわけじゃなくて、一部に悪ノリがあることはわかってるが、我々の関知するべきものではないという判断なんだが。
うちは普通に使うべきシーンでは使ってるけどな。
というか技術選定にコミュニティも何も無いと言うか。
便利なのにもったいない。
930デフォルトの名無しさん (アウアウエー Sa52-pTKR)
2020/05/24(日) 17:03:31.11ID:x8aMDsmma J●UGってロクなの無いな
931デフォルトの名無しさん (アウアウウー Sac7-lIs9)
2020/05/24(日) 21:48:37.40ID:GPV2jvNGa ちょっと質問
SynchronizationContext.Sendって引数で渡したデリゲートが同期コンテキストのスレッドで
実行完了するまでブロックされるって理解で合ってたっけ?
SynchronizationContext.Sendって引数で渡したデリゲートが同期コンテキストのスレッドで
実行完了するまでブロックされるって理解で合ってたっけ?
932デフォルトの名無しさん (ワッチョイ 33a7-2bic)
2020/05/24(日) 21:50:19.73ID:HTbn0mhn0 わかんねぇの使うなよ初心者
俺も知らねーけど
俺も知らねーけど
933デフォルトの名無しさん (ワッチョイ 032c-BHqY)
2020/05/24(日) 22:50:13.77ID:vethg+c+0 厳密な考え方では違うのかもしれんが
Send/Postが同期/非同期に対応してるから完了までブロックと考えていいよ
WinFormなんかは単純にInvoke/BeginInvokeで実装してるし
Send/Postが同期/非同期に対応してるから完了までブロックと考えていいよ
WinFormなんかは単純にInvoke/BeginInvokeで実装してるし
934デフォルトの名無しさん (アウアウウー Sac7-lIs9)
2020/05/24(日) 23:16:15.55ID:GPV2jvNGa >>933
ありがと!
ありがと!
935デフォルトの名無しさん (ワッチョイ 032d-ze6u)
2020/05/25(月) 16:52:16.63ID:CLMMg9Ns0 すまんが、継続的に動かしたいタスクの抜け防止ってどうやるの?
素人考えでこんなのをタスク処理の最後に入れてるんだけど・・・・もっとまともな書き方あるのかな
while (cancellationToken.IsCancellationRequested == false){
await Task.Delay(1000);
}
素人考えでこんなのをタスク処理の最後に入れてるんだけど・・・・もっとまともな書き方あるのかな
while (cancellationToken.IsCancellationRequested == false){
await Task.Delay(1000);
}
936デフォルトの名無しさん (アウアウウー Sac7-8pht)
2020/05/25(月) 17:22:15.03ID:83qlHvUWa やることが無くなったんなら無駄に待機しないでそのまま終了したらいいだろう
何がしたいのかさっぱり分からん
何がしたいのかさっぱり分からん
937デフォルトの名無しさん (ワッチョイ 9a84-BCZG)
2020/05/25(月) 17:24:53.54ID:qg6WFaTF0 別に問題ないと思うけど
タスクの最後にwhileループって言うのが良く意味がわかんないけど
バックグラウンドにしたい処理をwhileの中に記述して「IsCancellationRequested」が
「false」な間whileで無限ループが普通じゃないかな
あとDelayが1秒ならばどうでも良いのかもだけど、Delayに「cancellationToken」を
指定してエクセプションをキャッチするようにしておくと、Delay時間待たなくても
すぐに処理終われるとか
タスクの最後にwhileループって言うのが良く意味がわかんないけど
バックグラウンドにしたい処理をwhileの中に記述して「IsCancellationRequested」が
「false」な間whileで無限ループが普通じゃないかな
あとDelayが1秒ならばどうでも良いのかもだけど、Delayに「cancellationToken」を
指定してエクセプションをキャッチするようにしておくと、Delay時間待たなくても
すぐに処理終われるとか
938デフォルトの名無しさん (ワッチョイ 032d-ze6u)
2020/05/25(月) 17:39:01.13ID:CLMMg9Ns0 ありがとう!
WebSocket通信のタスクで終わられちゃ困っていて、タスクが終わられると困るだけでwhileで回すものもないし・・・・これで凌いでたよ
でもこんなの見ないってことは、もっと根本的に違った別な正攻法があるのかな
WebSocket通信のタスクで終わられちゃ困っていて、タスクが終わられると困るだけでwhileで回すものもないし・・・・これで凌いでたよ
でもこんなの見ないってことは、もっと根本的に違った別な正攻法があるのかな
939デフォルトの名無しさん (ワッチョイ 6301-UYz0)
2020/05/25(月) 17:49:37.05ID:c+rZ/LtC0 win32api的には、WaitForSingleObject
かな
かな
940デフォルトの名無しさん (ワッチョイ 4e2c-5qFb)
2020/05/25(月) 18:22:47.52ID:gis+qwRr0 JavaScript で非同期通信は、callback 関数を指定して待つだけ。
タイムアウト時間が過ぎたら、エラーになるだけ
while みたいな、busy loop を使わない。
CPU が100% に張り付いてしまうから
タイムアウト時間が過ぎたら、エラーになるだけ
while みたいな、busy loop を使わない。
CPU が100% に張り付いてしまうから
941デフォルトの名無しさん (ワッチョイ 032c-BHqY)
2020/05/25(月) 20:44:15.91ID:/pdJGglT0 通信のタスクってのがよく分からんよ
インスタンスとタスクをごっちゃにしてるように感じる
インスタンスとタスクをごっちゃにしてるように感じる
942デフォルトの名無しさん (アウアウウー Sac7-lIs9)
2020/05/25(月) 21:43:15.87ID:GUauqgR5a まあ設計というかロジックに問題があるようにしか正直聞こえないけど、
そこはいいでしょ別に
そこはいいでしょ別に
943デフォルトの名無しさん (ワッチョイ fa3c-bAg/)
2020/05/25(月) 22:31:36.47ID:3aP0Z4na0 つーか、Monoで学ぶC#オブジェクト指向とか言う本、わざわざMonoで学ばんでも普通のVSでマナびゃいい内容なんすけど。
MonoでやるならLinuxGUI作る方法でも教えてくれる方がよほどいい。
MonoでやるならLinuxGUI作る方法でも教えてくれる方がよほどいい。
944デフォルトの名無しさん (ワッチョイ fa3c-bAg/)
2020/05/25(月) 22:34:13.56ID:3aP0Z4na0 マジでC#でLinuxアプリある程度で良いんで作れるようにして欲しい。
QtとかGtk+とかもうね、泣けてキル。
QtとかGtk+とかもうね、泣けてキル。
945デフォルトの名無しさん (ワッチョイ fa3c-bAg/)
2020/05/25(月) 22:35:21.78ID:3aP0Z4na0 Xamarinって情報量とか少なそうだけど、まともにスマホアプリ作れるんですか?
迷ってるなら、Javaでやったほうがいいですか?
迷ってるなら、Javaでやったほうがいいですか?
946デフォルトの名無しさん (ワッチョイ a3ad-T1cz)
2020/05/25(月) 22:40:48.57ID:UFuP99WV0 >>945
使ってるし、まともにアプリ作れるよ。
任天堂も一つのアプリで使ってるらしいけど。
俺はXamarin.Formではなくて、Xamarin.Android使ってるけど、ほとんど普通のAndroid開発の言語がC#になった感じで、特に固有の情報は必要でない。
悩むんならJavaでやるよりkotlinでやったら良いんじゃない?
使ってるし、まともにアプリ作れるよ。
任天堂も一つのアプリで使ってるらしいけど。
俺はXamarin.Formではなくて、Xamarin.Android使ってるけど、ほとんど普通のAndroid開発の言語がC#になった感じで、特に固有の情報は必要でない。
悩むんならJavaでやるよりkotlinでやったら良いんじゃない?
947デフォルトの名無しさん (ワッチョイ 6301-UYz0)
2020/05/25(月) 22:42:27.46ID:c+rZ/LtC0 skiasharpが公式。
こんなのでどうしろと。
で例の事件に戻る
こんなのでどうしろと。
で例の事件に戻る
948デフォルトの名無しさん (ワッチョイ a3ad-T1cz)
2020/05/25(月) 23:21:56.50ID:UFuP99WV0 XamarinはFormsだけじゃないよ。
別に無理にSkiaSharp使わなくても。
例の事件引きずる割にはあんま知らんのな。
別に無理にSkiaSharp使わなくても。
例の事件引きずる割にはあんま知らんのな。
949デフォルトの名無しさん (ワッチョイ 6301-UYz0)
2020/05/26(火) 02:34:10.49ID:O4WcavVK0 skiasharpはxamarinの一部だw
950デフォルトの名無しさん (ワッチョイ a3ad-T1cz)
2020/05/26(火) 07:56:44.84ID:HYoEE9nX0 意識せずに使えるって言ってんのに。
どうしてもアンチしたいならそう言いなよ。
どうしてもアンチしたいならそう言いなよ。
951デフォルトの名無しさん (ワッチョイ 6301-UYz0)
2020/05/26(火) 10:55:16.55ID:O4WcavVK0 無理筋の擁護は迷惑だから止めなよ。
個人で全ての仕様を決定して良いならそうするさ、
問題なのはスポンサーを説得出来ない事だよ。
個人で全ての仕様を決定して良いならそうするさ、
問題なのはスポンサーを説得出来ない事だよ。
952デフォルトの名無しさん (ワッチョイ 76c7-tqmx)
2020/05/26(火) 11:17:56.86ID:i0q/U3sp0 unityできればc#もできますか(´・ω・`)
953デフォルトの名無しさん (ワッチョイ 9719-qwq+)
2020/05/26(火) 11:24:23.50ID:G8RqiJh80 C#できないとunityもできません
954デフォルトの名無しさん (ワッチョイ 977c-DQiu)
2020/05/26(火) 11:55:03.61ID:gxc82pqW0 Unityで造った3Dゲームを
C#はそのままでUnityじゃなくてVC#だけの環境でコンパイルして遊べますか?
C#はそのままでUnityじゃなくてVC#だけの環境でコンパイルして遊べますか?
955デフォルトの名無しさん (アウアウウー Sac7-LjTx)
2020/05/26(火) 11:56:54.86ID:6ileE2Zca できません
956デフォルトの名無しさん (スププ Sdba-T1cz)
2020/05/26(火) 14:42:23.17ID:wUEZ7fxyd 擁護とか言われるとなんかモヤるわぁ。
ああいうのは良くないと認めた上で、Xamarin自体は悪くないよと言ってるんよ。
スポンサーを説得できないのはまた別問題じゃん。
そこまでして使うもんではないと言う判断も一つ、
提案自体へのニーズというかXamarinがふさわしいと思うポイント一つ、
提案と提案力の問題が一つ、
色々合わさって技術選定するんだから。
主観的に気持ち悪いしスポンサーにオッケーって言わせられないから使わないよーってのは、個人の能力や主張であって、それを理由にされるのはなんか違う気がするわ。
一時期のアンチMSの人たちと変わらん精神性に見える。
ああいうのは良くないと認めた上で、Xamarin自体は悪くないよと言ってるんよ。
スポンサーを説得できないのはまた別問題じゃん。
そこまでして使うもんではないと言う判断も一つ、
提案自体へのニーズというかXamarinがふさわしいと思うポイント一つ、
提案と提案力の問題が一つ、
色々合わさって技術選定するんだから。
主観的に気持ち悪いしスポンサーにオッケーって言わせられないから使わないよーってのは、個人の能力や主張であって、それを理由にされるのはなんか違う気がするわ。
一時期のアンチMSの人たちと変わらん精神性に見える。
957デフォルトの名無しさん (ワッチョイ 6301-UYz0)
2020/05/26(火) 14:53:44.10ID:O4WcavVK0 ITバブルの会合にヘリコで乗り付けて、
都知事激怒させて資金注入中止させた
事件があっただろ。それと同じ。
軽薄な連中が遊び半分にやってるプロダクトと
レッテルを貼られたから大規模開発の
予算が取れない。だからせめて名前を変えてくれないと未来は無いって言っているの。
内容については言及していない。
都知事激怒させて資金注入中止させた
事件があっただろ。それと同じ。
軽薄な連中が遊び半分にやってるプロダクトと
レッテルを貼られたから大規模開発の
予算が取れない。だからせめて名前を変えてくれないと未来は無いって言っているの。
内容については言及していない。
958デフォルトの名無しさん (ワッチョイ ba52-NhWw)
2020/05/26(火) 15:54:06.85ID:gtoMtdIk0 そのレッテルってお前さんの周辺のごく狭い範囲でのみ認識されてるローカルな話なんでないの?
世間一般でもそうなのか?
世間一般でもそうなのか?
959デフォルトの名無しさん (スププ Sdba-T1cz)
2020/05/26(火) 15:57:37.96ID:wUEZ7fxyd レッテルを今も貼り続けてるのは自分たちじゃん。
その調子だと名前変えてもどうせ未来は理由を見つけるんでしょ。
そもそも、個人的にも使ってるが、仕事でもそれなりに大規模開発の案件で何プロダクトも予算どころか本番投入できてるからその主張が謎なんよね。
まあもう疲れたし良いわ。
何言ったって無駄っぽいし。
その調子だと名前変えてもどうせ未来は理由を見つけるんでしょ。
そもそも、個人的にも使ってるが、仕事でもそれなりに大規模開発の案件で何プロダクトも予算どころか本番投入できてるからその主張が謎なんよね。
まあもう疲れたし良いわ。
何言ったって無駄っぽいし。
960デフォルトの名無しさん (スププ Sdba-T1cz)
2020/05/26(火) 15:59:22.66ID:wUEZ7fxyd961デフォルトの名無しさん (ワッチョイ cb59-x2L0)
2020/05/26(火) 16:03:44.17ID:Y1qBNpza0 どうでもいい話いつまでやってんの?
否定されても自分が便利と思うなら使ってればいいじゃん。
否定されても自分が便利と思うなら使ってればいいじゃん。
962デフォルトの名無しさん (ワッチョイ 9a6a-OZlI)
2020/05/26(火) 16:20:40.23ID:a4j1g6SW0 そういや、次スレどうすんの?
ワッチョイない141を使い終わってから?
ワッチョイない141を使い終わってから?
963デフォルトの名無しさん (ワッチョイ 032c-BHqY)
2020/05/26(火) 16:28:04.98ID:4+roRX2l0 ワッチョイ有無で並立していいらしいからいつも通り980で新スレ立てるだけだよ
964デフォルトの名無しさん (ワッチョイ 9a6a-OZlI)
2020/05/26(火) 16:31:27.00ID:a4j1g6SW0 なるほどありがとう
965デフォルトの名無しさん (アウアウクー MMfb-egCw)
2020/05/26(火) 16:59:22.59ID:UeJz6oGUM イベントハンドラがよくわかりません。
PaSoLiにかざされたFelicaの内容をForm上に表示するプログラムを作成しています。
かざされた、というのを判定するためにはどういうイベントハンドラの設定が必要ですか?
ひとまずFormにタイマーを設定して、時間経過毎にPaSoLiの状態をチェックする…というのを考えたのですが、
他に何かいい知恵がありましたら教えてください。
よろしくお願いします。
PaSoLiにかざされたFelicaの内容をForm上に表示するプログラムを作成しています。
かざされた、というのを判定するためにはどういうイベントハンドラの設定が必要ですか?
ひとまずFormにタイマーを設定して、時間経過毎にPaSoLiの状態をチェックする…というのを考えたのですが、
他に何かいい知恵がありましたら教えてください。
よろしくお願いします。
966デフォルトの名無しさん (ワッチョイ 6301-UYz0)
2020/05/26(火) 17:05:55.42ID:O4WcavVK0967デフォルトの名無しさん (アウアウクー MMfb-egCw)
2020/05/26(火) 17:14:46.85ID:UeJz6oGUM >>966
Sony PaSoRi 3.0 と Win10機をUSBで接続しています。
開発キットは…使っていません。最終的に簡単なタグを作成したいので、WinSCardをラップし使用しています。
(Sonyの無料スターターキットは書き込みの関数がなかったので…)
情報後出しになってすみません…
Sony PaSoRi 3.0 と Win10機をUSBで接続しています。
開発キットは…使っていません。最終的に簡単なタグを作成したいので、WinSCardをラップし使用しています。
(Sonyの無料スターターキットは書き込みの関数がなかったので…)
情報後出しになってすみません…
968デフォルトの名無しさん (ワッチョイ 6301-UYz0)
2020/05/26(火) 17:27:47.85ID:O4WcavVK0 SCardGetStatusChange()で変化を検知して
delegate でUIにコールバックするか
イベントを使うかかな
delegate でUIにコールバックするか
イベントを使うかかな
969デフォルトの名無しさん (ワッチョイ ab84-BCZG)
2020/05/26(火) 17:40:48.36ID:XnLSD37X0 >>938
うーーん、処理はしないけどメソッドを抜けないようにする意味が分からないのは
そのままなんだけど、ずーーーとそこでとまっていれば良いのであれば「Delay」の
引数を「-1」にすればwhileで回す必要ないよ
で、whileで回すのをあまり見ないのは、みんな大好き美しいプログラミングだと
空ループはシステムに任せて、各種イベントで処理の振り分けを行って必要な部分
だけを非同期処理ってやり方をするので、自分でループ処理を用意する必要が
ないってのが基本
でも、実際にはあらゆる処理に自分が必要とするイベントが実装されているとは
限らないので、独自のイベントを返してくれる非同期処理を作成するときには
なんらかのループ処理が必要になる
ただ、サンプルレベルのプログラムだとそこまで実装をしている例は冗長なので
書いている人が少ないので、実用的なアプリケーションのソースコードとかを読ま
ないとループ型の非同期処理って見かけないだけだと思うけど
うーーん、処理はしないけどメソッドを抜けないようにする意味が分からないのは
そのままなんだけど、ずーーーとそこでとまっていれば良いのであれば「Delay」の
引数を「-1」にすればwhileで回す必要ないよ
で、whileで回すのをあまり見ないのは、みんな大好き美しいプログラミングだと
空ループはシステムに任せて、各種イベントで処理の振り分けを行って必要な部分
だけを非同期処理ってやり方をするので、自分でループ処理を用意する必要が
ないってのが基本
でも、実際にはあらゆる処理に自分が必要とするイベントが実装されているとは
限らないので、独自のイベントを返してくれる非同期処理を作成するときには
なんらかのループ処理が必要になる
ただ、サンプルレベルのプログラムだとそこまで実装をしている例は冗長なので
書いている人が少ないので、実用的なアプリケーションのソースコードとかを読ま
ないとループ型の非同期処理って見かけないだけだと思うけど
970デフォルトの名無しさん (アウアウクー MMfb-egCw)
2020/05/26(火) 17:52:50.31ID:UeJz6oGUM971デフォルトの名無しさん (ワッチョイ a302-crVl)
2020/05/26(火) 22:40:42.76ID:nfOZPr0+0 Visual Studio2019を更新したら今まではメソッドの文字色が黄色だったはずが白くなってしまったのですが、これは更新内容に含まれてる事なんでしょうか?
972デフォルトの名無しさん (ワッチョイ a302-crVl)
2020/05/26(火) 22:53:49.21ID:nfOZPr0+0 連投すみません
ローカル変数は水色、外のフィールド変数は白であったはずがローカル変数も白になっているなど、関数の色以外にも色々変わってしまったようです・・・。
すごく見づらいのですがこれは更新時にテーマの設定ファイルか何かが破損してしまったのでしょうか?
ローカル変数は水色、外のフィールド変数は白であったはずがローカル変数も白になっているなど、関数の色以外にも色々変わってしまったようです・・・。
すごく見づらいのですがこれは更新時にテーマの設定ファイルか何かが破損してしまったのでしょうか?
973デフォルトの名無しさん (ワッチョイ a302-crVl)
2020/05/26(火) 23:13:17.59ID:nfOZPr0+0 度々すみません、自己解決しました。
オプション -> テキストエディタ -> C# -> 詳細 -> エディターの配色をVisual Studio 2019にしたら元に戻りました。
アプデを行ったらなぜかエディターの配色がVisual Studio 2017になっていたようです
オプション -> テキストエディタ -> C# -> 詳細 -> エディターの配色をVisual Studio 2019にしたら元に戻りました。
アプデを行ったらなぜかエディターの配色がVisual Studio 2017になっていたようです
974デフォルトの名無しさん (ワッチョイ 9719-qwq+)
2020/05/26(火) 23:25:29.54ID:G8RqiJh80 俺も配色戻っててイラッとした
975デフォルトの名無しさん (ワッチョイ 8b01-I6Yg)
2020/05/26(火) 23:27:51.31ID:gXLmrSCn0 俺もだった アプデ後なんか見辛いなーって思ってたありがとう
ほかにも変な設定に勝手に変えられて気づいてないところありそうだ
ほかにも変な設定に勝手に変えられて気づいてないところありそうだ
976デフォルトの名無しさん (ワッチョイ da89-crVl)
2020/05/26(火) 23:29:37.40ID:pUNOqgdh0 Name = 太郎, Age = 27, Score = 92
Name = 次郎, Age = 23, Score = 89
Name = 太郎, Age = 27, Score = 100
Name = 三郎, Age = 20, Score = 95
Name = 次郎, Age = 23, Score = 61
このようなListがあり、以下のように集計したいのですが、
LINQで可能でしょうか
Name = 太郎, Age = 27, Score = 192
Name = 次郎, Age = 23, Score = 150
Name = 三郎, Age = 20, Score = 95
Name = 次郎, Age = 23, Score = 89
Name = 太郎, Age = 27, Score = 100
Name = 三郎, Age = 20, Score = 95
Name = 次郎, Age = 23, Score = 61
このようなListがあり、以下のように集計したいのですが、
LINQで可能でしょうか
Name = 太郎, Age = 27, Score = 192
Name = 次郎, Age = 23, Score = 150
Name = 三郎, Age = 20, Score = 95
977デフォルトの名無しさん (ワッチョイ 1aad-cFKA)
2020/05/26(火) 23:32:01.06ID:xP2EobkM0 >>976
できるよ
できるよ
978デフォルトの名無しさん (ワッチョイ 1aad-cFKA)
2020/05/26(火) 23:34:30.32ID:xP2EobkM0979デフォルトの名無しさん (ワッチョイ da89-crVl)
2020/05/26(火) 23:55:57.69ID:pUNOqgdh0980デフォルトの名無しさん (ワッチョイ 1389-moxv)
2020/05/27(水) 00:07:17.22ID:Pggemlyq0 >>979 自己レスですが、以下の記述でいけました
ありがとうございました
var query = result
.GroupBy(x => new { x.Name, x.ClassName })
.Select(x => new Test() { Name = x.Key.Name, Points = x.Sum(y => y.Points), ClassName = x.Key.ClassName });
foreach (var group in query)
{
Console.WriteLine($"{group.Name}の合計点数:{group.Points}点;ClassName{group.ClassName}");
}
ありがとうございました
var query = result
.GroupBy(x => new { x.Name, x.ClassName })
.Select(x => new Test() { Name = x.Key.Name, Points = x.Sum(y => y.Points), ClassName = x.Key.ClassName });
foreach (var group in query)
{
Console.WriteLine($"{group.Name}の合計点数:{group.Points}点;ClassName{group.ClassName}");
}
981デフォルトの名無しさん (スップ Sdf3-Tvg7)
2020/05/27(水) 00:15:29.78ID:DUgyxf22d >>980
キーが1つならGroupbyでわざわざ匿名クラス使う必要ないんじゃね?
キーが1つならGroupbyでわざわざ匿名クラス使う必要ないんじゃね?
982デフォルトの名無しさん (ワッチョイ 49da-hVfO)
2020/05/27(水) 02:33:41.36ID:QazEq+CO0 WinForms版WebView2に、WebBrowserのObjectForScripting相当の機能があれば教えてください。
983デフォルトの名無しさん (オッペケ Sr8d-FX72)
2020/05/27(水) 04:28:54.83ID:Z8ofXxl7r ゴミ品質の宝庫サムライのリンクつけるなよ
984デフォルトの名無しさん (ワッチョイ f101-IvHb)
2020/05/27(水) 07:23:43.27ID:Bvk+i7ky0 学校でCを習っていながら実務ではjavaとC#しかやったことがありません
お陰でポインタとか実務で使ったことが無いのですが、ポインタの考えを活用するシュチュエーションはC#開発を進めると出てくるでしょうか?
お陰でポインタとか実務で使ったことが無いのですが、ポインタの考えを活用するシュチュエーションはC#開発を進めると出てくるでしょうか?
985デフォルトの名無しさん (ワッチョイ 9301-gIWP)
2020/05/27(水) 07:52:45.69ID:zpQipMg10 初心者ですけど、Win32API使う時にCの知識が役にたった
986デフォルトの名無しさん (ワッチョイ 9961-3Jta)
2020/05/27(水) 09:08:23.02ID:sy4nr1lC0 >>980
次スレよろ
次スレよろ
987デフォルトの名無しさん (ワッチョイ d919-kLWK)
2020/05/27(水) 09:13:12.39ID:H3YZJB5x0988デフォルトの名無しさん (オッペケ Sr8d-FX72)
2020/05/27(水) 09:19:38.91ID:Z8ofXxl7r >>984
画像編集でピクセル加工処理するときに使った
画像編集でピクセル加工処理するときに使った
989デフォルトの名無しさん (ワッチョイ 9961-moxv)
2020/05/27(水) 09:37:11.33ID:sy4nr1lC0 >>981
ClassName引き出すのはどうするんだろ?
ClassName引き出すのはどうするんだろ?
990デフォルトの名無しさん (アウアウウー Sac5-5vhd)
2020/05/27(水) 09:58:43.31ID:liCJZGAla 必要ない
x => x.Name でいい
x => x.Name でいい
991デフォルトの名無しさん (ワッチョイ 2b2c-NZk0)
2020/05/27(水) 10:10:49.20ID:wHIUQvvs0 次スレ立てるね
992デフォルトの名無しさん (ワッチョイ 2b2c-NZk0)
2020/05/27(水) 10:15:14.28ID:wHIUQvvs0993デフォルトの名無しさん (ワッチョイ 2b2c-NZk0)
2020/05/27(水) 10:16:57.67ID:wHIUQvvs0 あ、ごめんワッチョイ入れ忘れたっていうか注意文言部分全部入れ忘れた
立て直しお願いします
立て直しお願いします
994デフォルトの名無しさん (ワッチョイ 2b2c-NZk0)
2020/05/27(水) 10:18:24.20ID:wHIUQvvs0 -----------------------------------------
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part147
http://mevius.5ch.net/test/read.cgi/tech/1582100741/
■関連スレ
C#, C♯, C#相談室 Part94
http://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
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
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part147
http://mevius.5ch.net/test/read.cgi/tech/1582100741/
■関連スレ
C#, C♯, C#相談室 Part94
http://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
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
995デフォルトの名無しさん (ワッチョイ 9394-J1D8)
2020/05/27(水) 10:49:27.10ID:n9K/Qc/t0 先生!
MFCのAfxBeginThreadでUARTの通信スレッド起動していましたが、C#だとどうやるのですか?
スレッドは外部変数でループを抜けて終了する仕様でループ内は受信したデータをファイルにロギングするだけです。ループ内はSleep(1)で若干負荷を下げてます。
MFCのAfxBeginThreadでUARTの通信スレッド起動していましたが、C#だとどうやるのですか?
スレッドは外部変数でループを抜けて終了する仕様でループ内は受信したデータをファイルにロギングするだけです。ループ内はSleep(1)で若干負荷を下げてます。
996デフォルトの名無しさん (アウアウウー Sac5-LWf4)
2020/05/27(水) 11:46:42.78ID:VAOyF+uoa >>995
ループでも別にいいと思うけど、ポーリングなら素直にタイマー使った方が簡単じゃないかな
ループでも別にいいと思うけど、ポーリングなら素直にタイマー使った方が簡単じゃないかな
997デフォルトの名無しさん (ワッチョイ 9384-UgGn)
2020/05/27(水) 17:42:50.18ID:oFYn/j/i0998デフォルトの名無しさん (ワッチョイ dbda-+GDy)
2020/05/27(水) 18:10:33.00ID:IQNb7uUG0 質問いいですかぁ?
999デフォルトの名無しさん (ワッチョイ 4101-ZnxB)
2020/05/27(水) 18:16:02.69ID:JktWhmx60 いいよ
1000デフォルトの名無しさん (アウアウクー MM0d-DHkq)
2020/05/27(水) 18:18:54.17ID:amwFvGuGM では早速
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 98日 0時間 53分 13秒
新しいスレッドを立ててください。
life time: 98日 0時間 53分 13秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【前橋市】小川晶前市長とラブホテルで打ち合わせをした54歳男性職員を停職処分 今月末で依願退職するという [シャチ★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★2 [ぐれ★]
- 【サッカー】元日本代表DF冨安がオランダ1部アヤックスと大筋合意か 現地メディア報じる [久太郎★]
- 【埼玉】「無免許で高速道路で事故」トラックの追突事故で10代男性死亡 無免許過失運転致死の疑いでトルコ国籍の男(22)逮捕 戸田市 [ぐれ★]
- 【日銀総裁】賃金に上昇圧力 人手不足で労働市場逼迫 [蚤の市★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★7 [七波羅探題★]
- 高市早苗「竹島は日本領土」 [834922174]
- ヤフコメで「共感した」が千や万いくのってやっぱり一体感を感じて気持ちいいの? [998357762]
- 俺は人間国宝
- この国がこんなにボロボロになった考えられる原因て何? [605029151]
- 【速報】1ポンド210円で日英GDP逆転(残り1.5円)...世界6位の経済規模に転落 [237216734]
- 🏡
