!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
C#, C♯, C#相談室 Part95
https://mevius.5ch.net/test/read.cgi/tech/1508168482/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part143
https://mevius.5ch.net/test/read.cgi/tech/1558002486/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
ふらっと C#,C♯,C#(初心者用) Part144
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ドコグロ MM2f-DHp5)
2019/07/16(火) 15:36:23.74ID:i1fbuZ/pM2デフォルトの名無しさん (エムゾネ FFba-YtL5)
2019/07/16(火) 15:44:15.40ID:uLn4rkdXF O2
3デフォルトの名無しさん (ワッチョイ a75f-YtL5)
2019/07/17(水) 10:08:14.00ID:5/22vZUf0 もしわかったら助けてください
VS2017 c# Windowsフォームで、textboxのKeyDownイベントで別のTextBoxをアクティブにする関数を作ったのですが
なぜかフォームが非アクティブになってしまいます
KeyDownイベントでなく、テストボタンを作ってClickイベントで関数を呼び出すと正常に動作します
何か考えられる原因ってあるでしょうか…
VS2017 c# Windowsフォームで、textboxのKeyDownイベントで別のTextBoxをアクティブにする関数を作ったのですが
なぜかフォームが非アクティブになってしまいます
KeyDownイベントでなく、テストボタンを作ってClickイベントで関数を呼び出すと正常に動作します
何か考えられる原因ってあるでしょうか…
4デフォルトの名無しさん (ワッチョイ 1388-GBi1)
2019/07/17(水) 10:20:06.72ID:QuDmOW+q0 >>3
下キーで別のコントロールにフォーカスが移ってるのでは?
下キーで別のコントロールにフォーカスが移ってるのでは?
5デフォルトの名無しさん (ワッチョイ 57da-egVq)
2019/07/17(水) 10:23:43.96ID:9uoKRG3i0 spy++の出番だな
6デフォルトの名無しさん (ワッチョイ 57da-egVq)
2019/07/17(水) 10:26:55.94ID:9uoKRG3i0 フォームが非アクティブ=別フォームor
デスクトップがアクティブでは無く?
デスクトップがアクティブでは無く?
7デフォルトの名無しさん (ワッチョイ a75f-VBrH)
2019/07/17(水) 10:50:55.66ID:5/22vZUf08デフォルトの名無しさん (ドコグロ MM92-D7xh)
2019/07/17(水) 15:38:10.55ID:/p35zq9TM キーダウン後にセットフォーカスなんじゃん?
キーアップだとセットフォーカス後なのでうまくいくとか?
キーアップだとセットフォーカス後なのでうまくいくとか?
9デフォルトの名無しさん (ワッチョイ 4e7b-MWwc)
2019/07/17(水) 18:48:12.22ID:16aW/iRU0 >>3
こういうことやりたいの?
http://ideone.com/JvzEb7
Atexで入力しようとするとBtexがアクティブになってそっちに文字入力される
ただしAtexで入力された最初の一文字はこのコードだと捨てられるから、それも入力したいのならもうひと手間かけないと
ここ参考に
TextBoxに数字しか入力できないようにする
https://dobon.net/vb/dotnet/control/numerictextbox.html#section1
KeyDownでもできるけどKeyPressでやるのがより一般的っぽい
ただe.Handled = trueやe.SuppressKeyPressを外してもフォームが非アクティブになるのは無いから、それは書いてない別の原因があるはず
こういうことやりたいの?
http://ideone.com/JvzEb7
Atexで入力しようとするとBtexがアクティブになってそっちに文字入力される
ただしAtexで入力された最初の一文字はこのコードだと捨てられるから、それも入力したいのならもうひと手間かけないと
ここ参考に
TextBoxに数字しか入力できないようにする
https://dobon.net/vb/dotnet/control/numerictextbox.html#section1
KeyDownでもできるけどKeyPressでやるのがより一般的っぽい
ただe.Handled = trueやe.SuppressKeyPressを外してもフォームが非アクティブになるのは無いから、それは書いてない別の原因があるはず
10デフォルトの名無しさん (ワッチョイ 0fda-ShKg)
2019/07/18(木) 02:37:55.39ID:JiMlnGX40 DateTimePickerの継承コントロールを作っているのですが、カレンダーや手入力で日付を変更しても、Valueの値が変わりません。
何が原因でしょうか?
※Deleteキーが押されたらnullになり、その他のキーが押されたら、nullになる前の日付が表示されるようにしたつもりです。
http://ideone.com/BRM6jo
何が原因でしょうか?
※Deleteキーが押されたらnullになり、その他のキーが押されたら、nullになる前の日付が表示されるようにしたつもりです。
http://ideone.com/BRM6jo
1110 (ワッチョイ 0fda-ShKg)
2019/07/18(木) 03:27:19.51ID:JiMlnGX40 ほんとにしょーもない見落としでした(´・ω・`)
コンストラクタに、
TextChanged += (sender,e) => Value = DateTime.Parse(Text);
入れたら動きました。
コンストラクタに、
TextChanged += (sender,e) => Value = DateTime.Parse(Text);
入れたら動きました。
1210 (ワッチョイ 0fda-ShKg)
2019/07/18(木) 03:39:32.99ID:JiMlnGX40 正常な日付 or null のどっちかにしかならない必要があるので、以下のほうがよかったです。
TextChanged += (sender, e) =>
{
if (String.IsNullOrWhiteSpace(Text))
Value = null;
else
Value = DateTime.Parse(Text);
};
TextChanged += (sender, e) =>
{
if (String.IsNullOrWhiteSpace(Text))
Value = null;
else
Value = DateTime.Parse(Text);
};
13デフォルトの名無しさん (ワッチョイ 8f01-fACD)
2019/07/18(木) 07:02:48.53ID:teqAmMY+0 ASP.NETのWEBフォームで特定のページを誰かが開いていたら他の人は開けないようにしたいのですがどういう実装で実現出来るでしょうか?
ページをオープン中という状態を知る術が見付からずに困っています
C#で作っているというだけで使う技術は多岐に及びそうですがよろしくお願いします
ページをオープン中という状態を知る術が見付からずに困っています
C#で作っているというだけで使う技術は多岐に及びそうですがよろしくお願いします
14デフォルトの名無しさん (ブーイモ MM5f-6VcT)
2019/07/18(木) 08:03:49.72ID:Q7y8Xu/qM 定期的にajaxで閲覧中のステータスを5秒おきにサーバに送信して
最後の送信から15秒くらいの時間が経過したら
他のユーザーにアクセスを許可すれば良いんじゃね?
最後の送信から15秒くらいの時間が経過したら
他のユーザーにアクセスを許可すれば良いんじゃね?
15デフォルトの名無しさん (スフッ Sd5f-kypX)
2019/07/18(木) 10:18:40.31ID:926jk5Fkd ちょうどそんな実装してるけど、ロック掛ける(+掛けれなかったら掛けてる奴返す)ためのajaxで呼ぶAPIと、ロック解除するAPI作ってる。
ロックはTTL60秒。クライアントから30秒ごとに延長かけてる。
JSのoncloseかなんかでロック解除API叩いてるけど、たたき漏れは今のところ無い。
ロックはTTL60秒。クライアントから30秒ごとに延長かけてる。
JSのoncloseかなんかでロック解除API叩いてるけど、たたき漏れは今のところ無い。
16デフォルトの名無しさん (ワッチョイ cfda-6VcT)
2019/07/18(木) 10:53:36.62ID:xGZEok3k0 webからダウンロードした画像をメモリ上に保持してるんだけど
dispose忘れがなかなか厄介
GCでdisposeさせるかそれに近い動作をするものってないものかな
dispose忘れがなかなか厄介
GCでdisposeさせるかそれに近い動作をするものってないものかな
17デフォルトの名無しさん (アウアウウー Sad3-OGGi)
2019/07/18(木) 11:13:33.22ID:6A8bU/H4a >>16
逆にGCは何をすると思ってるの?
マネージドの場合事実上「GCでDispose」されると思っていいはず。
だから本当に怖いのはdispose忘れじゃなくて、
イベントの購読の解除を忘れるとかして参照を間接的に握られ続けること
逆にGCは何をすると思ってるの?
マネージドの場合事実上「GCでDispose」されると思っていいはず。
だから本当に怖いのはdispose忘れじゃなくて、
イベントの購読の解除を忘れるとかして参照を間接的に握られ続けること
1810 (ワッチョイ 0fda-ShKg)
2019/07/18(木) 13:26:02.08ID:JiMlnGX4019デフォルトの名無しさん (ワッチョイ 7fda-0ngu)
2019/07/18(木) 13:36:05.50ID:ydKHj7N/0 Value = DateTime.Parse(Text);
じゃなくて
DateTime.TryParseを使って、日付に変換できる場合のみセット
じゃなくて
DateTime.TryParseを使って、日付に変換できる場合のみセット
20デフォルトの名無しさん (ワッチョイ 8f61-aZqd)
2019/07/18(木) 13:47:58.03ID:eovQbio40 そりゃbase.Valueに値設定しなけりゃ表示変わらんでしょ
21デフォルトの名無しさん (ワッチョイ 3f01-9oxg)
2019/07/18(木) 13:50:06.72ID:1HV7iRhh0 お知恵をお借りしたく。。。
public struct LogsData
{
public double total;
public long starttime;
}
var aaa = new LIST<LogsData>();
totalだけが入ったLISTを作りたい
ぶん回す方法はできたのだがもっとスマートな方法はないだろうか。
var bbb = new List<double>();
foreach (var ccc in aaa)
{
bbb.Add(ccc.total);
}
public struct LogsData
{
public double total;
public long starttime;
}
var aaa = new LIST<LogsData>();
totalだけが入ったLISTを作りたい
ぶん回す方法はできたのだがもっとスマートな方法はないだろうか。
var bbb = new List<double>();
foreach (var ccc in aaa)
{
bbb.Add(ccc.total);
}
22デフォルトの名無しさん (ワッチョイ 4fda-dTVB)
2019/07/18(木) 13:53:58.03ID:6lFXmRU70 AddRange
23デフォルトの名無しさん (ワッチョイ 4f5f-DGEx)
2019/07/18(木) 13:57:35.04ID:NtL98NX40 var bbb = aaa.Select( x=> x.total ).ToList();
24デフォルトの名無しさん (ワッチョイ 3f01-9oxg)
2019/07/18(木) 14:04:12.94ID:1HV7iRhh0 >>23
神現る。ありがとう!
神現る。ありがとう!
25デフォルトの名無しさん (ワッチョイ 8f01-fACD)
2019/07/18(木) 19:17:58.78ID:teqAmMY+026デフォルトの名無しさん (ワッチョイ 4f5f-6VcT)
2019/07/18(木) 20:46:46.74ID:c4BAkJVY027デフォルトの名無しさん (アウアウウー Sad3-DP2E)
2019/07/19(金) 16:29:04.35ID:g/qsh+DNa >>26
disposeすると今すぐメモリを解放してくれる。しないとガベコレが走るタイミングまで待たされる。GC.Collectは今すぐガベコレする。
disposeすると今すぐメモリを解放してくれる。しないとガベコレが走るタイミングまで待たされる。GC.Collectは今すぐガベコレする。
28デフォルトの名無しさん (ドコグロ MMbf-M+2i)
2019/07/19(金) 20:25:52.26ID:VLsw2rVZM29デフォルトの名無しさん (ブーイモ MM5f-6VcT)
2019/07/19(金) 21:26:29.42ID:5+qJlswgM30デフォルトの名無しさん (ワッチョイ 3f42-jGuh)
2019/07/19(金) 21:30:00.71ID:KvrVBoUe031デフォルトの名無しさん (ドコグロ MMbf-bkmc)
2019/07/19(金) 21:36:05.87ID:IuwL/lPHM Bitmapはファイナライザを実装してるから2回GCが走らないと解放されない
あと頻繁に動いてるのは最も浅い世代のGen0GCで、GCを生き残って昇格してしまったオブジェクトを回収させるにはGC.Collectは有効
あと頻繁に動いてるのは最も浅い世代のGen0GCで、GCを生き残って昇格してしまったオブジェクトを回収させるにはGC.Collectは有効
32デフォルトの名無しさん (ワッチョイ 4f61-M+2i)
2019/07/19(金) 22:21:52.99ID:A6fR/TKy033デフォルトの名無しさん (ワッチョイ cfda-6VcT)
2019/07/20(土) 02:43:36.72ID:HA7JgwCb034デフォルトの名無しさん (ワッチョイ ff4a-7vAl)
2019/07/20(土) 20:49:53.26ID:hrLeGUFN0 時間はかかっても、MSゴシックなら正常に動作するんですが
游ゴシックを指定すると、なぜか文字が重なり合ったりして正常に表示されません
g.DrawString(new String('@', 5000000), drawFont, Brushes.Black, 0, 0);
游ゴシックを指定すると、なぜか文字が重なり合ったりして正常に表示されません
g.DrawString(new String('@', 5000000), drawFont, Brushes.Black, 0, 0);
35デフォルトの名無しさん (ワッチョイ 7f7b-eBwx)
2019/07/20(土) 21:01:47.46ID:IDb6GPRz036デフォルトの名無しさん (ワッチョイ ff4a-7vAl)
2019/07/20(土) 21:13:32.08ID:hrLeGUFN0 文字列を短くするとちゃんと表示されます
37デフォルトの名無しさん (ワッチョイ 7f7b-eBwx)
2019/07/20(土) 21:23:14.33ID:IDb6GPRz0 あ、Rectangle指定しないと折り返さないのか?
https://dobon.net/vb/dotnet/graphics/drawstring.html
>>36
意図的に無茶な指定しているのなら不具合が起こってもしょうがないと思う
https://dobon.net/vb/dotnet/graphics/drawstring.html
>>36
意図的に無茶な指定しているのなら不具合が起こってもしょうがないと思う
38デフォルトの名無しさん (ワッチョイ 3f34-k+pP)
2019/07/21(日) 12:10:16.19ID:AXqQTYqQ0 Webbrowser で表示されているある部分をクリックしてAjaxで動的にHTMLが変化する場合
documentcompleted は発生しませんが
HTMLの変化を検知するにはどうするのがいいのでしょうか?
タイマーを使ってWebbrowser のHMTLの内容を比較するくらいしかないですかね?
documentcompleted は発生しませんが
HTMLの変化を検知するにはどうするのがいいのでしょうか?
タイマーを使ってWebbrowser のHMTLの内容を比較するくらいしかないですかね?
39デフォルトの名無しさん (ワッチョイ 3f42-jGuh)
2019/07/21(日) 12:43:20.58ID:P7LE/kkP0 >>38
UWPのWebViewなら、スクリプトを直接呼び出して完了待ちとか出来るよ
FormsやWPFからでも使えるようになっているみたいだから頑張ればなんとかなる
勿論UWPで作るってのもアリだが
UWPのWebViewなら、スクリプトを直接呼び出して完了待ちとか出来るよ
FormsやWPFからでも使えるようになっているみたいだから頑張ればなんとかなる
勿論UWPで作るってのもアリだが
40デフォルトの名無しさん (ワッチョイ 3f34-k+pP)
2019/07/21(日) 13:44:31.17ID:AXqQTYqQ041デフォルトの名無しさん (ワッチョイ 0fda-ShKg)
2019/07/22(月) 01:46:10.70ID:fKk8m16B0 どんな処理に対してどんな例外処理をすればよいのか理解出来ないのですが、
「〇〇メソッドが投げる可能性がある例外」という感じの一覧みたいなものってないでしょうか?
「〇〇メソッドが投げる可能性がある例外」という感じの一覧みたいなものってないでしょうか?
42デフォルトの名無しさん (ワッチョイ 4f5f-DGEx)
2019/07/22(月) 02:11:10.76ID:Z/C74OJi0 >>41
Docsの.NET Framework API リファレンスの各メソッドの説明に載ってる
Docsの.NET Framework API リファレンスの各メソッドの説明に載ってる
43デフォルトの名無しさん (アウアウウー Sad3-EsdE)
2019/07/22(月) 15:09:04.83ID:9U8T6M8Za >>41
他にも、VisualStudio上でメソッドにカーソルを合わせると出てくるツールチップで「例外」箇所に型が載っていたり
F12で定義に移動した後のコメント中で「例外」箇所に型と理由が載っていたりする
他にも、VisualStudio上でメソッドにカーソルを合わせると出てくるツールチップで「例外」箇所に型が載っていたり
F12で定義に移動した後のコメント中で「例外」箇所に型と理由が載っていたりする
44デフォルトの名無しさん (オッペケ Sra3-ccE5)
2019/07/22(月) 20:31:22.66ID:bxEn3DSVr >>38
WinFormのWebBrowserでajaxで読み込みはタイマーみたいなの使って取れてる
WinFormのWebBrowserでajaxで読み込みはタイマーみたいなの使って取れてる
45デフォルトの名無しさん (スプッッ Sde3-7eKQ)
2019/07/23(火) 21:30:46.97ID:roLN7w1Qd ざっくりで失礼します。
面白半分にc#でエロや風俗系を作れたらいいなと思ったのですが案ありますか?
なかなか思いつかなくてw
面白半分にc#でエロや風俗系を作れたらいいなと思ったのですが案ありますか?
なかなか思いつかなくてw
46デフォルトの名無しさん (ワッチョイ 7f7b-eBwx)
2019/07/23(火) 21:34:28.66ID:zEKbbod3047デフォルトの名無しさん (ワッチョイ 4f14-7eKQ)
2019/07/23(火) 21:41:17.09ID:Uygc18n3048デフォルトの名無しさん (ワッチョイ 8f8f-1UnR)
2019/07/23(火) 23:55:04.04ID:SedAptpn0 草
49デフォルトの名無しさん (ワッチョイ 1ef2-/0C9)
2019/07/25(木) 16:27:29.05ID:UXkDZrqn0 変態さんでいっぱいだ
前スレのエロ画像スクレイピングマンは成功したのかな
前スレのエロ画像スクレイピングマンは成功したのかな
50デフォルトの名無しさん (ワッチョイ 6f2c-CDeu)
2019/07/26(金) 03:11:13.96ID:8BXDtT/D0 エロ画像なんて厳選して保存しないとすぐ500GBぐらいいくだろうに
51デフォルトの名無しさん (ワッチョイ 6bda-tP4r)
2019/07/26(金) 12:52:05.57ID:53dis5oN0 動画ならともかく画像で500GBはベテランの領域。
52デフォルトの名無しさん (ワッチョイ 6bda-tP4r)
2019/07/26(金) 13:12:23.94ID:53dis5oN0 コンテキストメニューを定義して、それを別コントロールに割り当てて、
それを更に別のフォームからクリックで実行したく、下記の構造にしているのですが、ControlExの公開プロパティになっている点に、なんとなく違和感感じています。
もうちょっと綺麗な構造に出来ないでしょうか?
public class ContextMenuEx : ContextMenu
{
public ToolStripItem OpenMenu { get; private set; }
}
public class ControlEx : Control
{
public ContextMenuEx ContextMenuEx { get; set; }
public ControlEx()
{
ContextMenu = ContextMenuEx;
}
}
public class ViewControl : Form
{
private ControlEx MyControlEx = new ControlEx();
public ViewControl()
{
MyControlEx.ContextMenuEx.OpenMenu.Click += //クリックイベント
}
}
それを更に別のフォームからクリックで実行したく、下記の構造にしているのですが、ControlExの公開プロパティになっている点に、なんとなく違和感感じています。
もうちょっと綺麗な構造に出来ないでしょうか?
public class ContextMenuEx : ContextMenu
{
public ToolStripItem OpenMenu { get; private set; }
}
public class ControlEx : Control
{
public ContextMenuEx ContextMenuEx { get; set; }
public ControlEx()
{
ContextMenu = ContextMenuEx;
}
}
public class ViewControl : Form
{
private ControlEx MyControlEx = new ControlEx();
public ViewControl()
{
MyControlEx.ContextMenuEx.OpenMenu.Click += //クリックイベント
}
}
53デフォルトの名無しさん (アウアウウー Sacf-z8jC)
2019/07/26(金) 16:05:13.49ID:uxWd1qa6a >>52
ごめん何がしたいのかさっぱり分からんw
ごめん何がしたいのかさっぱり分からんw
54デフォルトの名無しさん (ワッチョイ 1eda-X7My)
2019/07/26(金) 16:28:06.90ID:Kg/2nYdc0 コンテキストメニューがnewされてないから例外が出るね
55デフォルトの名無しさん (ドコグロ MMc2-AFrx)
2019/07/26(金) 17:02:58.89ID:VkzQYvSYM 普通にメニュー出してsendmessageでええよ?
56デフォルトの名無しさん (ワッチョイ 1eda-X7My)
2019/07/26(金) 17:08:02.31ID:Kg/2nYdc0 なんとなくの違和感なんて知らんが
要するに何をどうしたいんだか
要するに何をどうしたいんだか
57デフォルトの名無しさん (ワッチョイ 1f61-AFrx)
2019/07/26(金) 18:11:15.82ID:tpwQJJNh0 違和感
スポーツ選手みたいやなw
右肩に違和感を・・・
○○.cppに違和感を感じ納品を見送ったとのことです
スポーツ選手みたいやなw
右肩に違和感を・・・
○○.cppに違和感を感じ納品を見送ったとのことです
58デフォルトの名無しさん (ワッチョイ 8a87-KIok)
2019/07/27(土) 07:50:47.17ID:1So0tMH70 質問する技術が足りてない
とにかく違和感とかいう抽象的なことじゃなくて具体的に
とにかく違和感とかいう抽象的なことじゃなくて具体的に
59デフォルトの名無しさん (ワッチョイ 8f5f-1F87)
2019/07/27(土) 23:40:34.97ID:NQ4+UjHL0 配列添字演算子付のpropertyはありますか?
イメージ的には
public int MyIDList[int]{
set{this.myIDList[idx] = value;}
get{return this.myIDList[idx];}
}
みたいな事がしたいです
イメージ的には
public int MyIDList[int]{
set{this.myIDList[idx] = value;}
get{return this.myIDList[idx];}
}
みたいな事がしたいです
60デフォルトの名無しさん (アウアウウー Sacf-LsNC)
2019/07/27(土) 23:46:47.22ID:+ZEWiPdqa >>59
ない
ない
61デフォルトの名無しさん (ワッチョイ 8f5f-1F87)
2019/07/27(土) 23:48:18.25ID:NQ4+UjHL0 >>60
ありがとうございます
ありがとうございます
62デフォルトの名無しさん (ブーイモ MMc7-X7My)
2019/07/27(土) 23:49:00.45ID:F72yN9ZSM できない
インデックスの渡し方しか考えてないようだけど
それだとLengthやforeachで回せる機構など
配列に必要な関数群も仕組みもないだろ?
素直にListから継承させるか
インデックスを引数で渡せばいいじゃない
インデックスの渡し方しか考えてないようだけど
それだとLengthやforeachで回せる機構など
配列に必要な関数群も仕組みもないだろ?
素直にListから継承させるか
インデックスを引数で渡せばいいじゃない
63デフォルトの名無しさん (ワッチョイ 8aad-Vk2Z)
2019/07/28(日) 00:26:47.42ID:vg9qDEAT0 んん、インデクサのことではなくて?
https://ufcpp.net/study/csharp/oo_indexer.html
https://ufcpp.net/study/csharp/oo_indexer.html
64デフォルトの名無しさん (ブーイモ MMc7-X7My)
2019/07/28(日) 00:35:17.04ID:GU+doGlgM それはクラスにインデクサが付く話だし
プロパティには持たせられないじゃん
プロパティには持たせられないじゃん
65デフォルトの名無しさん (アウアウウー Sacf-6/1b)
2019/07/28(日) 00:49:15.67ID:zR0XYwX4a66デフォルトの名無しさん (ブーイモ MMc7-X7My)
2019/07/28(日) 01:53:35.14ID:GU+doGlgM まあたださ
class p {
List<double> da;
double center[int index]{
get {return (da[index+1] - da[index]; }
}
}
みたいに、クラスの配列データを元に
仮装配列的なものを作りたいんだろうなと思う
昔俺もやりたくて調べまくったよ
これを今のc#で実現しようとすると、わざわざプロパティごとにクラス化なきゃいけないし
クラスの生成や配列を振る舞うクラスに元データを渡すのとか非常に面倒になる
そこまで出来たとしてもメリットはインデックスを[]で渡せるだけで
配列(っぽいもの)ですよとコード上で示せるだけ
普通に関数実装で[]表記以外は同じことが出来るので
コードの美しさ的には不満があるけど
実装上は困らないんだよな
単純に関数の引数は()でも[]でも囲めるようにしてくれたら簡単なんだけどね
class p {
List<double> da;
double center[int index]{
get {return (da[index+1] - da[index]; }
}
}
みたいに、クラスの配列データを元に
仮装配列的なものを作りたいんだろうなと思う
昔俺もやりたくて調べまくったよ
これを今のc#で実現しようとすると、わざわざプロパティごとにクラス化なきゃいけないし
クラスの生成や配列を振る舞うクラスに元データを渡すのとか非常に面倒になる
そこまで出来たとしてもメリットはインデックスを[]で渡せるだけで
配列(っぽいもの)ですよとコード上で示せるだけ
普通に関数実装で[]表記以外は同じことが出来るので
コードの美しさ的には不満があるけど
実装上は困らないんだよな
単純に関数の引数は()でも[]でも囲めるようにしてくれたら簡単なんだけどね
67デフォルトの名無しさん (ワッチョイ 6bba-tP4r)
2019/07/28(日) 07:11:46.83ID:iidlab190 ttps://ideone.com/DcIIzB
68デフォルトの名無しさん (ブーイモ MMc7-X7My)
2019/07/30(火) 09:26:09.88ID:IhJrxMBNM constって継承できないもんかな
継承クラスで定数を変えたいんだけど
何か上手い方法はないだろうか
継承クラスで定数を変えたいんだけど
何か上手い方法はないだろうか
69デフォルトの名無しさん (ワッチョイ 9312-J0Tb)
2019/07/30(火) 09:51:52.35ID:MQBecH/v0 できないので、諦めてオーバーライド可能なメンバでやって
そういう機能が欲しいなら、githubで提案してくるとよい
ここで喋っても入らないのでそのつもりで高説は垂れるように
そういう機能が欲しいなら、githubで提案してくるとよい
ここで喋っても入らないのでそのつもりで高説は垂れるように
70デフォルトの名無しさん (アウアウウー Sacf-z8jC)
2019/07/30(火) 09:53:45.93ID:aYg/q9jya >>68
隠蔽(new)は出来るでしょ
継承というかoverrideはインスタンスメンバーを上書きするものであり、
constは本質的にstaticメンバーなんで、継承でconstを変更という発想はそもそも矛盾してるんじゃないの?
隠蔽(new)は出来るでしょ
継承というかoverrideはインスタンスメンバーを上書きするものであり、
constは本質的にstaticメンバーなんで、継承でconstを変更という発想はそもそも矛盾してるんじゃないの?
71デフォルトの名無しさん (スププ Sdaa-CDeu)
2019/07/30(火) 10:10:15.53ID:nToTFkzEd constは埋め込みだから無理
コーディングを見やすくしてるだけなんよ
static virtual readonly とか…できるんかな書いたことないけど
コーディングを見やすくしてるだけなんよ
static virtual readonly とか…できるんかな書いたことないけど
72デフォルトの名無しさん (ブーイモ MMc7-X7My)
2019/07/30(火) 10:22:24.95ID:IhJrxMBNM 単純にこんな実装がしたいんだよね
オブジェクトの詳細で表示する名称表示とかさ
class BaseObject{
const virtual string ObjectName=“(基底クラス)“;
string GetObjectName(){return ObjectName;}
}
class TextObject:BaseObject{
const override string ObjectName=“テキストボックス“;
}
class LineObject:BaseObject{
const override string ObjectName=“直線“;
}
class EllipseObject:BaseObject{
const override string ObjectName=“楕円“;
}
大して文字数も変わるわけでもないし、やっぱこう実装するよりないか
override string ObjectName{ return “楕円“; }
オブジェクトの詳細で表示する名称表示とかさ
class BaseObject{
const virtual string ObjectName=“(基底クラス)“;
string GetObjectName(){return ObjectName;}
}
class TextObject:BaseObject{
const override string ObjectName=“テキストボックス“;
}
class LineObject:BaseObject{
const override string ObjectName=“直線“;
}
class EllipseObject:BaseObject{
const override string ObjectName=“楕円“;
}
大して文字数も変わるわけでもないし、やっぱこう実装するよりないか
override string ObjectName{ return “楕円“; }
73デフォルトの名無しさん (ドコグロ MMc2-LsNC)
2019/07/30(火) 10:31:59.35ID:AKu0TaFKM >>68
定数を返すだけの読み取り専用のプロパティにする
定数を返すだけの読み取り専用のプロパティにする
74デフォルトの名無しさん (ワッチョイ 7f38-rxAe)
2019/07/30(火) 10:40:17.04ID:B9XYpo8O0 >>73
これ
これ
75デフォルトの名無しさん (ドコグロ MMc2-LsNC)
2019/07/30(火) 12:17:38.06ID:AKu0TaFKM76デフォルトの名無しさん (アウアウウー Sacf-z8jC)
2019/07/30(火) 12:33:54.79ID:vSU/UXgGa https://ideone.com/R6UBzL
あんまり面白くないねw
あんまり面白くないねw
77デフォルトの名無しさん (ブーイモ MMc7-X7My)
2019/07/30(火) 12:49:16.40ID:IhJrxMBNM >>75
おお、いいですね!活用させてもらいます!
おお、いいですね!活用させてもらいます!
78デフォルトの名無しさん (ワッチョイ ab63-6sva)
2019/07/30(火) 13:37:48.40ID:k9k21JDF0 >>68
readonly使うのが定石
readonly使うのが定石
79デフォルトの名無しさん (スッップ Sdaa-qbpu)
2019/07/31(水) 15:31:35.93ID:tEceTxskd MacでC#勉強してみたいんですがVisual Studio入れないと厳しいですか?
VS Codeだけでは難しいですか?
VS Codeだけでは難しいですか?
80デフォルトの名無しさん (ドコグロ MMaa-LsNC)
2019/07/31(水) 16:00:55.32ID:lLYOef6LM MacでC#を勉強するメリットはないから他の言語にしとき
唯一意味があるのはUnityでゲーム作る用途だから、Unity入れてC#やってみるのはまあアリ
唯一意味があるのはUnityでゲーム作る用途だから、Unity入れてC#やってみるのはまあアリ
81デフォルトの名無しさん (ワッチョイ 7f0c-ZVB1)
2019/07/31(水) 18:13:54.85ID:vBQ8AC7J0 >>79
言語の学習目的なら.NET Core SDKとVSCodeでじゅうぶん
言語の学習目的なら.NET Core SDKとVSCodeでじゅうぶん
82デフォルトの名無しさん (スッップ Sdaa-y10Y)
2019/07/31(水) 18:27:29.21ID:SBa7OC8vd >>79
難しくないよ
難しくないよ
83デフォルトの名無しさん (アウアウウー Sacf-z8jC)
2019/07/31(水) 18:38:19.42ID:quxH8qSha84デフォルトの名無しさん (ドコグロ MMaa-LsNC)
2019/07/31(水) 18:43:57.13ID:lLYOef6LM >>83
その理屈だとBootcampでWindowsをインストールするのが最善ということになってしまう
VS for Macなんかほとんど誰も使ってないんだから、時間の浪費という意味ではVSCodeといい勝負だわ
その理屈だとBootcampでWindowsをインストールするのが最善ということになってしまう
VS for Macなんかほとんど誰も使ってないんだから、時間の浪費という意味ではVSCodeといい勝負だわ
85デフォルトの名無しさん (ワッチョイ 1eda-X7My)
2019/07/31(水) 19:10:03.53ID:9TaORHsg0 Listでindex aのアイテムをindex bにインサートするスマートな方法はないだろうか
aをremoveしてbにインサートすると、a>=bならいいけど、a<bの時 removeでインデックスがズレるので狙いより1つ下に行ってしまう
一番下だと範囲外の例外が起きてしまう
できればこれを実行するメソッドを作って既にあるList<T>を拡張したいんだけど
ヘルパークラス的なものって作れないかな?
aをremoveしてbにインサートすると、a>=bならいいけど、a<bの時 removeでインデックスがズレるので狙いより1つ下に行ってしまう
一番下だと範囲外の例外が起きてしまう
できればこれを実行するメソッドを作って既にあるList<T>を拡張したいんだけど
ヘルパークラス的なものって作れないかな?
86デフォルトの名無しさん (アウアウウー Sacf-6/1b)
2019/07/31(水) 20:05:23.41ID:i+V4gIP9a >>85
「拡張」という言葉の意図がわからないけど
ヘルパークラス作って静的メソッドや拡張メソッドとして定義すれば良いんじゃない?
List<T>を継承したオレオレListでメソッド定義、という方法は止めとけ
「拡張」という言葉の意図がわからないけど
ヘルパークラス作って静的メソッドや拡張メソッドとして定義すれば良いんじゃない?
List<T>を継承したオレオレListでメソッド定義、という方法は止めとけ
87デフォルトの名無しさん (アウアウウー Sacf-z8jC)
2019/07/31(水) 20:12:36.58ID:quxH8qSha88デフォルトの名無しさん (ワッチョイ 8ac3-wNFz)
2019/07/31(水) 21:18:24.59ID:uxU05rGA0 >>79
両方使って比較してみては
両方使って比較してみては
89デフォルトの名無しさん (ワッチョイ 1eda-X7My)
2019/07/31(水) 23:06:20.36ID:9TaORHsg0 >>87
2 to 9なのに1が9に移動しちゃうでしょ?
2 to 9なのに1が9に移動しちゃうでしょ?
90デフォルトの名無しさん (ワッチョイ 1eda-X7My)
2019/07/31(水) 23:07:54.33ID:9TaORHsg0 ああごめん、リストの再生成をしてないのね
91デフォルトの名無しさん (ワッチョイ 1eda-X7My)
2019/07/31(水) 23:27:27.06ID:9TaORHsg0 申し訳ない、コードを見直したら質問の前提を間違えてました
やりたかったのは
List<T> というリストがあった場合に
リストに入っているかわからないオブジェクトaを
リストに入っているオブジェクトbの1つ後に挿入する
…というメソッドを作りたかったんです
List<T>.MoveAfter(T b,T a) //リスト内bの後ろにaを挿入、aがList内にある場合は元の位置から移動させる
で、このメソッド自体の実装はできているんですが
いただいたサンプルのextensionsの記述がよくわからず質問しました
おかげでうまく実装できました、ありがとうございます!
やりたかったのは
List<T> というリストがあった場合に
リストに入っているかわからないオブジェクトaを
リストに入っているオブジェクトbの1つ後に挿入する
…というメソッドを作りたかったんです
List<T>.MoveAfter(T b,T a) //リスト内bの後ろにaを挿入、aがList内にある場合は元の位置から移動させる
で、このメソッド自体の実装はできているんですが
いただいたサンプルのextensionsの記述がよくわからず質問しました
おかげでうまく実装できました、ありがとうございます!
92デフォルトの名無しさん (ワッチョイ 23ad-tO59)
2019/08/01(木) 08:01:53.51ID:xGy0TEOb093デフォルトの名無しさん (ワッチョイ ab0d-VWEc)
2019/08/02(金) 00:28:39.75ID:pwBgdUBF0 c#とvsの至れり尽くせり感に慣れすぎて他の開発環境でできなくなりました
94デフォルトの名無しさん (ワッチョイ cd5f-zMmr)
2019/08/02(金) 00:45:41.15ID:RRmMDCsx0 そうなんだよなー
VSは使いやすすぎる
Delphiの開発者を引き抜いてきただけあるわ
VSは使いやすすぎる
Delphiの開発者を引き抜いてきただけあるわ
95デフォルトの名無しさん (アウアウウー Sa09-Mtrx)
2019/08/02(金) 00:52:16.45ID:80wMhccea 最低限IDEで自動ビルドなら慣れれば貧弱な環境も楽しいよ
インテリセンスなんかないから長い識別子をダブルクリック & Ctrl + C ⇒ Ctrl + V
ばっかりしてたら左手が腱鞘炎になっちゃったけどw
インテリセンスなんかないから長い識別子をダブルクリック & Ctrl + C ⇒ Ctrl + V
ばっかりしてたら左手が腱鞘炎になっちゃったけどw
96デフォルトの名無しさん (ワッチョイ 6588-n/pF)
2019/08/02(金) 09:27:47.59ID:NmFjjWZQ0 秀丸ですらファイル内入力補完あるよ
97デフォルトの名無しさん (ラクッペ MM81-plfI)
2019/08/02(金) 13:45:35.78ID:E5BJDT7zM 秀丸御殿が建ってる偉大なエディタに対して「ですら」って
98デフォルトの名無しさん (アウアウウー Sa09-Mtrx)
2019/08/02(金) 14:01:07.04ID:ktX3qXN3a 大昔試用したことあるけどまだ存在するんだw
いい加減タブ化とかしたのかな
しかし、日本人も真面目に作者に金払って使う人結構いるんだね
いい加減タブ化とかしたのかな
しかし、日本人も真面目に作者に金払って使う人結構いるんだね
99デフォルトの名無しさん (ワッチョイ 6588-n/pF)
2019/08/02(金) 14:48:47.26ID:NmFjjWZQ0 いや秀丸はすげーと思うけど言語解析までするIDEと比較してテキストエディタですら入力補完あるのにコピペ頑張らんでもええやん、って話
タブ化は10年前くらいには対応してたはず
vscodeも良いけど軽さはやっぱ秀丸のほうが良いから今でもちょいちょい起動するよ
タブ化は10年前くらいには対応してたはず
vscodeも良いけど軽さはやっぱ秀丸のほうが良いから今でもちょいちょい起動するよ
100デフォルトの名無しさん (アウウィフ FF09-ONUK)
2019/08/02(金) 15:14:57.86ID:e58H0HHKF Nif●y の決済システムってまだ稼働してるんか
最近使ってないから知らんけど
最近使ってないから知らんけど
101デフォルトの名無しさん (スププ Sd43-3SK7)
2019/08/02(金) 15:18:13.18ID:j/fAdfUcd 俺も秀丸とvscodeの併用だね
秀丸は起動が速いから
秀丸は起動が速いから
102デフォルトの名無しさん (アウアウウー Sa09-Mtrx)
2019/08/02(金) 15:47:38.91ID:ktX3qXN3a xyzzyなら一時期使ってたなあ
道具にこだわるたちじゃないんで、金払ってまで禿丸さんを使う気にはなれなかった
道具にこだわるたちじゃないんで、金払ってまで禿丸さんを使う気にはなれなかった
103デフォルトの名無しさん (ワッチョイ cbf2-0ks1)
2019/08/02(金) 15:50:45.00ID:xzjh5WuB0 きたああああああああああああああああああああああああああああ
https://i.imgur.com/Q7qeopR.jpg
https://i.imgur.com/Q7qeopR.jpg
104デフォルトの名無しさん (ブーイモ MM99-D5FV)
2019/08/02(金) 16:01:20.35ID:4Xvk7WGTM Rider使いは?
105デフォルトの名無しさん (ワッチョイ 4d17-0ks1)
2019/08/02(金) 18:09:45.30ID:sXaRfN3S0 >>102
道具にこだわらないのにWindowsは金払ってまで使うんだ
道具にこだわらないのにWindowsは金払ってまで使うんだ
106デフォルトの名無しさん (アウアウカー Sa91-LmKu)
2019/08/02(金) 22:46:17.18ID:UiHNxeJXa ここにいる人は趣味プログラマーが多いんかな
本業なんだけど経験ないC#開発もやらないといけなくなったって人も結構いたりする?
本業なんだけど経験ないC#開発もやらないといけなくなったって人も結構いたりする?
107デフォルトの名無しさん (ワッチョイ 2590-NaJE)
2019/08/02(金) 22:52:43.67ID:ol3AyafF0 windowsはみんな使ってるからこだわってるとは言わない。普通。
108デフォルトの名無しさん (スププ Sd43-3SK7)
2019/08/02(金) 22:54:15.89ID:j/fAdfUcd >>106
本業だけどWin32から.NETへの移行期はC#の経験ないところから始めたね
本業だけどWin32から.NETへの移行期はC#の経験ないところから始めたね
109デフォルトの名無しさん (ブーイモ MM99-hOp9)
2019/08/02(金) 23:19:14.53ID:bTVyt88NM 俺はDelphiからの転向
110デフォルトの名無しさん (ワッチョイ 85d2-X2my)
2019/08/03(土) 00:28:08.22ID:3YKHpYYf0 同じく本業。
事前に経験ってほどのものがあったことなんかほとんどないような気がするけどなあ。
最近なら python をやってみたり。これ ruby っぽくてそんなに好きになれそうにないや。C# は大好き。
事前に経験ってほどのものがあったことなんかほとんどないような気がするけどなあ。
最近なら python をやってみたり。これ ruby っぽくてそんなに好きになれそうにないや。C# は大好き。
111デフォルトの名無しさん (ワッチョイ 2379-7p+E)
2019/08/03(土) 00:31:46.15ID:n84PTU/80 本業C#erだわ
趣味時代はCとかPythonとかやってた
趣味時代はCとかPythonとかやってた
112デフォルトの名無しさん (ワッチョイ ab0d-VWEc)
2019/08/03(土) 01:17:35.52ID:lgH4NInK0 組み込みだけど本業の開発よりc#でGUI作ってるほうが楽しい!
113デフォルトの名無しさん (ワッチョイ 1be9-PeK1)
2019/08/03(土) 10:25:21.86ID:QMMl7Yx90 聞きたいこと
ライブラリ内の数値を、メインのプログラムで参照した。
arduinoを動かそうとプログラムを書いているのですが、
hoge.h
内に、
enum class Button : uint16_t{
A = 0x0001,
B = 0x0002};
というクラスがあります。
これを、
#include <hoge.h>
void setup()
{
const int BtPt[2] = {Button.A,Burron.B};
}
のように、代入したいんですけど、うまくいきません。
どうすれば参照できるんでしょうか。
そもそも概念的に間違ってるのかもしれませんが、、、
ライブラリ内の数値を、メインのプログラムで参照した。
arduinoを動かそうとプログラムを書いているのですが、
hoge.h
内に、
enum class Button : uint16_t{
A = 0x0001,
B = 0x0002};
というクラスがあります。
これを、
#include <hoge.h>
void setup()
{
const int BtPt[2] = {Button.A,Burron.B};
}
のように、代入したいんですけど、うまくいきません。
どうすれば参照できるんでしょうか。
そもそも概念的に間違ってるのかもしれませんが、、、
114デフォルトの名無しさん (アウウィフ FF09-ONUK)
2019/08/03(土) 10:27:40.91ID:3ia1GLNcF 書き込むスレが間違ってる
115デフォルトの名無しさん (ワッチョイ cd5f-bqzA)
2019/08/03(土) 11:44:13.94ID:6qsjMY4R0 俺も最近CからC#に移行したんだが、下痢ゲートだとか阿弥陀式とか、ワケ分からないw
116デフォルトの名無しさん (ワッチョイ 2379-7p+E)
2019/08/03(土) 16:40:29.95ID:n84PTU/80 Cもまともに書けてなさそう
117デフォルトの名無しさん (ブーイモ MM43-jA0B)
2019/08/03(土) 19:56:50.53ID:voIsjIeCM 本業C#erの方、年収とキャリア教えて下さい!!
118デフォルトの名無しさん (ワッチョイ 758f-ruUF)
2019/08/03(土) 21:25:49.26ID:MA8i5rVM0 新卒5年目、約600万円や
119デフォルトの名無しさん (ワッチョイ ed61-ad4G)
2019/08/03(土) 22:06:36.96ID:WW7jv2oU0 >>117
40歳年収240万
40歳年収240万
120デフォルトの名無しさん (ワッチョイ 2379-7p+E)
2019/08/03(土) 22:07:55.00ID:n84PTU/80 新卒2年目450万くらい
121デフォルトの名無しさん (ワッチョイ 8563-jA0B)
2019/08/04(日) 03:03:55.72ID:JPscGmkT0 1000万越えのC#erはいないのか?
てか、そのくらい高額になるともはやコード書く仕事ではなくなるからC#erを名乗らなくなる?
てか、そのくらい高額になるともはやコード書く仕事ではなくなるからC#erを名乗らなくなる?
122デフォルトの名無しさん (アウアウウー Sa09-Mtrx)
2019/08/04(日) 03:23:55.03ID:jcz7NslOa そういう話はさすがにスレ違いでプログラマ板でやった方がいいと思うが、
C#に限らずサラリーマンプログラマで1000万越えは少ないだろうね。
フリーランスの優秀な人はもっと貰ってるかもしれない。
意外だろうけど零細企業は景気がいい時は大手より高給が貰えるところもある。
ただいかんせん不安定
プログラマに限らんけど、優秀な人はアメリカにでも行った方がいいね。
日本はいろいろ終わってると思うw
C#に限らずサラリーマンプログラマで1000万越えは少ないだろうね。
フリーランスの優秀な人はもっと貰ってるかもしれない。
意外だろうけど零細企業は景気がいい時は大手より高給が貰えるところもある。
ただいかんせん不安定
プログラマに限らんけど、優秀な人はアメリカにでも行った方がいいね。
日本はいろいろ終わってると思うw
123デフォルトの名無しさん (ワッチョイ 8563-jA0B)
2019/08/04(日) 03:39:09.71ID:JPscGmkT0 そうですね、確かに年収ネタは荒れやすいしすれ違いでした。これでこの話題は終わりにしときましょう。
124デフォルトの名無しさん (オッペケ Sra1-aSiO)
2019/08/04(日) 16:52:52.62ID:idEgR3Nvr まあ色々な意味でも終わってるのかもねw
この不寛容さの社会を作ってしまった「市民」として責任を少しだけ感じます
この不寛容さの社会を作ってしまった「市民」として責任を少しだけ感じます
125デフォルトの名無しさん (ワッチョイ cd02-ONUK)
2019/08/06(火) 17:15:33.24ID:8h96sAQZ0 C言語スレとマルチですが質問がスルーされてるので質問させてください。
コマンドライン引数というのは具体的に何が出来る引数なのでしょうか?
WisdomSoftって入門サイトと苦しんで覚えるC言語って本を読んでるのですがイマイチ何が伝えたいか分かりません。
コマンドライン引数というのは具体的に何が出来る引数なのでしょうか?
WisdomSoftって入門サイトと苦しんで覚えるC言語って本を読んでるのですがイマイチ何が伝えたいか分かりません。
126デフォルトの名無しさん (ワッチョイ cd5f-hOp9)
2019/08/06(火) 17:23:41.64ID:lwH+jHue0 ファイルをダブルクリックされた時に
なんのファイルをダブルクリックされたか
知るためなどに使う
なんのファイルをダブルクリックされたか
知るためなどに使う
127デフォルトの名無しさん (ワッチョイ cd5f-hOp9)
2019/08/06(火) 17:24:51.93ID:lwH+jHue0 関連付けされたファイルをダブルクリックして起動された時などに…だな
言葉が足りなさすぎた
言葉が足りなさすぎた
128デフォルトの名無しさん (ワッチョイ cd02-ONUK)
2019/08/06(火) 17:37:01.47ID:8h96sAQZ0 >>126
ありがとうございます。
しかしファイルをダブルクリックしても何も起こりません;
読んでるサイトにはD&Dすると白紙のメモ帳にプログラムが書き写されるみたいなこと書いてあるので
試しましたが何もおこらず・・・
使ってる環境VS2019なのですがそれが駄目なんでしょうか?
ありがとうございます。
しかしファイルをダブルクリックしても何も起こりません;
読んでるサイトにはD&Dすると白紙のメモ帳にプログラムが書き写されるみたいなこと書いてあるので
試しましたが何もおこらず・・・
使ってる環境VS2019なのですがそれが駄目なんでしょうか?
129デフォルトの名無しさん (ワッチョイ cd5f-hOp9)
2019/08/06(火) 17:38:57.54ID:lwH+jHue0 >>128
その読んでるサイトとやらのURLを見せてみ?
その読んでるサイトとやらのURLを見せてみ?
130デフォルトの名無しさん (ブーイモ MM99-jA0B)
2019/08/06(火) 17:41:48.19ID:hdPDl6nEM131デフォルトの名無しさん (ワッチョイ cd5f-Ybim)
2019/08/06(火) 17:43:05.87ID:nV6bzp6s0132デフォルトの名無しさん (ワッチョイ cd02-ONUK)
2019/08/06(火) 17:44:52.93ID:8h96sAQZ0 >>129
http:ああwisdom.sakura.ne.jpあprogrammingあcあc32.html と
https:ああ9cguide.appspot.comあ17-03.html です
URL禁止みたいなのでスラッシュを置き換えてます。スイマセン
後者に関してはstdin等なんの説明もなく使ってるので更に分からないです
http:ああwisdom.sakura.ne.jpあprogrammingあcあc32.html と
https:ああ9cguide.appspot.comあ17-03.html です
URL禁止みたいなのでスラッシュを置き換えてます。スイマセン
後者に関してはstdin等なんの説明もなく使ってるので更に分からないです
133デフォルトの名無しさん (ワッチョイ cd02-ONUK)
2019/08/06(火) 17:55:25.38ID:8h96sAQZ0134デフォルトの名無しさん (ワッチョイ cd5f-hOp9)
2019/08/06(火) 18:02:11.72ID:lwH+jHue0 もしかして実行して一瞬チラッと何か出てすぐ終了する感じ?
135デフォルトの名無しさん (ワッチョイ 6588-n/pF)
2019/08/06(火) 18:11:09.99ID:D2KPblxl0 >>133
関数に引数を渡すのは知ってる?
渡す引数の内容でその関数の動作は変わるよね?
コマンドライン引数はmain関数への引数になる
その引数はファイル名だったりexeを起動する人が入力する文字列だったりする
まずはコマンドライン引数を出力してみて何が入っているか確認しよう
出力先はテキストファイルでもコンソール(stdout)でもいい
関数に引数を渡すのは知ってる?
渡す引数の内容でその関数の動作は変わるよね?
コマンドライン引数はmain関数への引数になる
その引数はファイル名だったりexeを起動する人が入力する文字列だったりする
まずはコマンドライン引数を出力してみて何が入っているか確認しよう
出力先はテキストファイルでもコンソール(stdout)でもいい
136デフォルトの名無しさん (ワッチョイ 05da-ONUK)
2019/08/06(火) 18:11:12.27ID:ruFXP44J0 >>133
これコンパイルして、以下のようにコマンドライン引数渡して起動してみて。
C:\どっかのフォルダ> MainClass.exe 引数1 引数2 引数3
using System;
public class MainClass
{
public static void Main(string[] args)
{
Console.WriteLine("最初の引数は" + args[0]);
foreach(string s in args)
{
Console.WriteLine(s);
}
Console.ReadLine();
}
}
バッチ使うなら、exeと同じフォルダに、以下の内容のバッチファイル(***.bat)置いて、バッチファイル起動してみて。
hello.exe 引数1 引数2 引数3
これコンパイルして、以下のようにコマンドライン引数渡して起動してみて。
C:\どっかのフォルダ> MainClass.exe 引数1 引数2 引数3
using System;
public class MainClass
{
public static void Main(string[] args)
{
Console.WriteLine("最初の引数は" + args[0]);
foreach(string s in args)
{
Console.WriteLine(s);
}
Console.ReadLine();
}
}
バッチ使うなら、exeと同じフォルダに、以下の内容のバッチファイル(***.bat)置いて、バッチファイル起動してみて。
hello.exe 引数1 引数2 引数3
137デフォルトの名無しさん (ワッチョイ cd02-ONUK)
2019/08/06(火) 18:11:17.28ID:8h96sAQZ0 >>134
いえ、コードをVS2019で実行して実行画面を出したままデスクトップのメモ帳をD&Dしました
いえ、コードをVS2019で実行して実行画面を出したままデスクトップのメモ帳をD&Dしました
138デフォルトの名無しさん (アウアウウー Sa09-ONUK)
2019/08/06(火) 18:13:03.10ID:6OOXAacva >>125
どのスレのどの書き込みがマルチポスト元なの?
質問系のスレならスルーはあまりないと思うけど書き込むスレ間違えてない?
↓のスレあたりで、開発環境やコンパイラー種類、実行している方法などを添えて書き込んで見ればいいんじゃない
C言語なら俺に聞け 152 https://mevius.5ch.net/test/read.cgi/tech/1560763630/l50
スレ立てるまでもない質問はここで 149匹目 https://mevius.5ch.net/test/read.cgi/tech/1529199088/l50
どのスレのどの書き込みがマルチポスト元なの?
質問系のスレならスルーはあまりないと思うけど書き込むスレ間違えてない?
↓のスレあたりで、開発環境やコンパイラー種類、実行している方法などを添えて書き込んで見ればいいんじゃない
C言語なら俺に聞け 152 https://mevius.5ch.net/test/read.cgi/tech/1560763630/l50
スレ立てるまでもない質問はここで 149匹目 https://mevius.5ch.net/test/read.cgi/tech/1529199088/l50
139デフォルトの名無しさん (ワッチョイ 6588-n/pF)
2019/08/06(火) 18:13:46.50ID:D2KPblxl0140デフォルトの名無しさん (オッペケ Sra1-nN+A)
2019/08/06(火) 19:53:18.36ID:fRCzQnxrr >>139
あまり深く考えたことないけど、それでドロップしたファイル名がとれるのってどこで仕様化されてるのだろ
あまり深く考えたことないけど、それでドロップしたファイル名がとれるのってどこで仕様化されてるのだろ
141デフォルトの名無しさん (スプッッ Sd03-ruUF)
2019/08/06(火) 20:12:17.66ID:V0Kuh8Wnd >>140
osの仕様じゃないの?
osの仕様じゃないの?
142デフォルトの名無しさん (ワッチョイ cbda-hOp9)
2019/08/06(火) 20:16:01.22ID:hi1INabv0 OSの仕様だね
実行ファイルにファイルをドロップすると
ファイルのフルパスが引数になって起動する
複数ファイルドロップするとファイルが全部引数で入る
送る(sendto)フォルダにexeのショートカットを置いて
右クリックして送るとやっても同じ動作をする
実行ファイルにファイルをドロップすると
ファイルのフルパスが引数になって起動する
複数ファイルドロップするとファイルが全部引数で入る
送る(sendto)フォルダにexeのショートカットを置いて
右クリックして送るとやっても同じ動作をする
143デフォルトの名無しさん (オイコラミネオ MM51-6Eq9)
2019/08/06(火) 20:36:54.80ID:Dc7UiKoCM ダブルクリックとかドラッグ&ドロップよりも
dirやpingとかの例から教えてやれよ
説目下手かよw
dirやpingとかの例から教えてやれよ
説目下手かよw
144デフォルトの名無しさん (オイコラミネオ MM51-6Eq9)
2019/08/06(火) 20:42:48.62ID:Dc7UiKoCM145デフォルトの名無しさん (ワッチョイ cbda-hOp9)
2019/08/06(火) 20:45:30.56ID:hi1INabv0 君は質問者がCUIを知らないとわかった途端に
必死でマウントするタイプっぽいねw
まあ文句があるなら君が教えれば良いじゃない
必死でマウントするタイプっぽいねw
まあ文句があるなら君が教えれば良いじゃない
146デフォルトの名無しさん (ワッチョイ bd63-n/pF)
2019/08/06(火) 21:44:06.23ID:h96rX+BU0 OSというかエクスプローラの仕様では?
まぁOSみたいなもんだけど
macも一緒だっけ?
まぁOSみたいなもんだけど
macも一緒だっけ?
147デフォルトの名無しさん (ワッチョイ 857b-m1ER)
2019/08/06(火) 22:15:41.42ID:2e28HN3n0 ここがPC初心者スレに見える連中がいるみたいだな
148デフォルトの名無しさん (ワッチョイ 8d2c-v9kR)
2019/08/07(水) 06:57:51.84ID:HD57Pps60 まあコマンドライン引数という言葉は出てるんだからコマンドラインとはこれのことって説明にはコマンドプロンプトを用いる方がわかりやすいかもしれないけどどっちもどっちかなあ
149デフォルトの名無しさん (ブーイモ MM99-hOp9)
2019/08/07(水) 12:43:02.55ID:0NR5yQ8YM プログラミング初心者に
PC初心者がいないと思える方が理解に苦しむ
PC初心者がいないと思える方が理解に苦しむ
150デフォルトの名無しさん (エムゾネ FF43-ONUK)
2019/08/07(水) 13:17:43.31ID:+fGjf0jSF >>140
Win32API なら WinMain の LPSTR lpCmdLine
Win32API なら WinMain の LPSTR lpCmdLine
151デフォルトの名無しさん (ワッチョイ 2de6-0ks1)
2019/08/07(水) 22:34:55.42ID:7okrY9pr0 定義なら
HKEY_CLASSES_ROOT\exefile
HKEY_CLASSES_ROOT\exefile
152デフォルトの名無しさん (ワッチョイ daad-WJKE)
2019/08/08(木) 01:37:38.81ID:ihcgMCFx0 OSの仕様とAPIの仕様とC言語の仕様がごっちゃになるから
昔より初心者は大変よな。
ただ質問の仕方はジャンル関係ないから
もうちょっと伝わるように書いた方がいいと思うぞw
昔より初心者は大変よな。
ただ質問の仕方はジャンル関係ないから
もうちょっと伝わるように書いた方がいいと思うぞw
153デフォルトの名無しさん (ワッチョイ 5524-iNuD)
2019/08/08(木) 14:29:31.16ID:zX15bpOA0 最も低コストな2点間時間差の測定って何なのでしょうか?
元々DateTime型を利用していましたが、超高精度である必要もなくマシンの長時間稼働で符号が反転することがあるのを承知でEnvironment.TickCountを利用しています。
Environment.TickCountよりも低コストなものはあるのでしょうか?
元々DateTime型を利用していましたが、超高精度である必要もなくマシンの長時間稼働で符号が反転することがあるのを承知でEnvironment.TickCountを利用しています。
Environment.TickCountよりも低コストなものはあるのでしょうか?
154デフォルトの名無しさん (ササクッテロ Sp75-UN4U)
2019/08/08(木) 14:34:41.65ID:mB2We2tKp コストの意味によって違う。
プログラム量なのか、費用なのか、所要時間なのか。
プログラム量なのか、費用なのか、所要時間なのか。
155デフォルトの名無しさん (ワッチョイ 5524-iNuD)
2019/08/08(木) 14:37:19.14ID:zX15bpOA0 >>154
実行パフォーマンス的なコストです
実行パフォーマンス的なコストです
156デフォルトの名無しさん (ワッチョイ 95da-Azad)
2019/08/08(木) 15:38:41.10ID:mhwi8eEg0 C# で無限Undo/Redoが出来るテキストエディタコンポーネントを探してるんですが、
使い勝手がいいものは何でしょうか?
使い勝手がいいものは何でしょうか?
157デフォルトの名無しさん (アウアウウー Sa39-fALZ)
2019/08/08(木) 17:25:58.20ID:EGuA/4uga158デフォルトの名無しさん (アウアウウー Sa39-QI54)
2019/08/08(木) 18:00:45.46ID:tebxUNsfa >>155
https://referencesource.microsoft.com/#mscorlib/system/datetime.cs,1503
ご覧の通りDateTime.operator -()は
InternalTicksプロパティ内部でのビット論理積各1回と、減算と、TimeSpan型のコンストラクター呼び出し(内部はlong値の代入のみ)だけで
最適化されたら小さな計算だけになると思うんだが
Environment.TickCountを使ったほうが優位な速度差が出ると測定したの?
測定して有意差があってかつ本当に速度を追求する場所ならEnvironment.TickCountはintだけで低コストだろうから使えばいいし
そうでないのなら「早すぎる最適化」について調べればいいよ
>>156
少なくともWPFのTextBoxはUndoLimitプロパティがあって、初期値では無制限になってる
https://referencesource.microsoft.com/#mscorlib/system/datetime.cs,1503
ご覧の通りDateTime.operator -()は
InternalTicksプロパティ内部でのビット論理積各1回と、減算と、TimeSpan型のコンストラクター呼び出し(内部はlong値の代入のみ)だけで
最適化されたら小さな計算だけになると思うんだが
Environment.TickCountを使ったほうが優位な速度差が出ると測定したの?
測定して有意差があってかつ本当に速度を追求する場所ならEnvironment.TickCountはintだけで低コストだろうから使えばいいし
そうでないのなら「早すぎる最適化」について調べればいいよ
>>156
少なくともWPFのTextBoxはUndoLimitプロパティがあって、初期値では無制限になってる
159デフォルトの名無しさん (ワッチョイ 5524-iNuD)
2019/08/08(木) 20:11:51.79ID:zX15bpOA0 >>158
減算のみだとそこまでの差は無いのかもしれませんが現在のタイムを取得する命令もセットで測定した場合に結構な差が出たため乗り換えました。
具体的にはこのような方法で現在時刻を取得し
int lastTime = Enviroment.TickCount;
DateTime lastTime = DateTime.Now;
下記のようにして指定秒数以上立ったかなどの判定を行っています
if (Enviroment.TickCount - lastTime > 10000) {}
if ((DateTime.Now - lastTime).TotalMilliseconds > 10000) {}
減算のみだとそこまでの差は無いのかもしれませんが現在のタイムを取得する命令もセットで測定した場合に結構な差が出たため乗り換えました。
具体的にはこのような方法で現在時刻を取得し
int lastTime = Enviroment.TickCount;
DateTime lastTime = DateTime.Now;
下記のようにして指定秒数以上立ったかなどの判定を行っています
if (Enviroment.TickCount - lastTime > 10000) {}
if ((DateTime.Now - lastTime).TotalMilliseconds > 10000) {}
160デフォルトの名無しさん (ブーイモ MMde-aL2W)
2019/08/08(木) 20:23:44.89ID:1yv5WNbeM その辺りはDDKの領分だから深入り
しない方が吉かも
尚、OSとしての仕様と実際に動作している
ハードの仕様の差異もあるし
しない方が吉かも
尚、OSとしての仕様と実際に動作している
ハードの仕様の差異もあるし
161デフォルトの名無しさん (アウアウウー Sa39-QI54)
2019/08/08(木) 20:46:23.03ID:tebxUNsfa >>159
一定時間経過したかをより正確に判定したい、が本当にやりたかったことか
ドキュメントによるとEnvironment.TickCountは「resolutionは通常10〜16ms」とあるけど
DateTime.Nowでは「0.5〜15ms」とあるから
判定1回の処理時間ではなくて、精度を測定したほうが良いと思うよ
Stopwatchクラスは「high-resolution performance counter」を使えるから精度出るんじゃない?
一定時間経過したかをより正確に判定したい、が本当にやりたかったことか
ドキュメントによるとEnvironment.TickCountは「resolutionは通常10〜16ms」とあるけど
DateTime.Nowでは「0.5〜15ms」とあるから
判定1回の処理時間ではなくて、精度を測定したほうが良いと思うよ
Stopwatchクラスは「high-resolution performance counter」を使えるから精度出るんじゃない?
162デフォルトの名無しさん (ワッチョイ 2588-cVv4)
2019/08/08(木) 23:24:35.70ID:1oNCOrAR0 指定秒数経過の判定で実行パフォーマンスを気にするのが間違ってる
そういうのは秒間1万回処理する必要があるとかいう処理で考えるべき
OS上で動作するからミリセカンドより細かい粒度での正確性はそもそも無理
stopwatch以上の細かい精度が必要ならC#じゃ厳しい
どんな要件か知らんけどそんな細かな精度なくても大丈夫
120FPSのゲームでもフレーム間で80msあるんだから
そういうのは秒間1万回処理する必要があるとかいう処理で考えるべき
OS上で動作するからミリセカンドより細かい粒度での正確性はそもそも無理
stopwatch以上の細かい精度が必要ならC#じゃ厳しい
どんな要件か知らんけどそんな細かな精度なくても大丈夫
120FPSのゲームでもフレーム間で80msあるんだから
163デフォルトの名無しさん (ワッチョイ 615f-aqzO)
2019/08/08(木) 23:27:17.60ID:J4rZTmDc0 >>162
計算間違ってるよ
計算間違ってるよ
164デフォルトの名無しさん (アウアウウー Sa39-fALZ)
2019/08/08(木) 23:57:14.98ID:d0Ff1eN7a 文章読んでる限りそんな頭悪そうじゃないのに
何でそんな部分の最適化は無意味だっていう簡単な事実が分からないのかねw
昔からそういう人一定数いるけどほんと不思議
何でそんな部分の最適化は無意味だっていう簡単な事実が分からないのかねw
昔からそういう人一定数いるけどほんと不思議
165デフォルトの名無しさん (アウアウウー Sa39-PMB1)
2019/08/09(金) 00:05:32.58ID:yqHkFNZaa >>164
この人が該当するかはわからないけど、発達障害で脳の特性により一般の人よりも拘りが強いという人は珍しくないよ。知能の高低ではなく、引っ掛かるところが普通と異なる。相手に自覚がない場合、いくら理屈で説明しても受け入れてもらえないことが多い。
この人が該当するかはわからないけど、発達障害で脳の特性により一般の人よりも拘りが強いという人は珍しくないよ。知能の高低ではなく、引っ掛かるところが普通と異なる。相手に自覚がない場合、いくら理屈で説明しても受け入れてもらえないことが多い。
166デフォルトの名無しさん (ワッチョイ c60d-bISA)
2019/08/09(金) 00:24:39.62ID:kbBtOJ8C0 プログラマには特に多いかもね
167デフォルトの名無しさん (アウアウウー Sa39-sA8b)
2019/08/09(金) 00:50:27.63ID:ENN4/0zza どうでもいい細部に拘って動けなくなるのは中途半端に知恵がついてきた初心者にありがち
俺も経験あるからわかるわ
そこから経験を積んでいくとスケール感がわかってきて「ゴミは無視」ができるようになってくるもんだけど、
そうならずにどんどん偏屈になっていく人も一部存在する
質問者がそうでないことを祈る
俺も経験あるからわかるわ
そこから経験を積んでいくとスケール感がわかってきて「ゴミは無視」ができるようになってくるもんだけど、
そうならずにどんどん偏屈になっていく人も一部存在する
質問者がそうでないことを祈る
168デフォルトの名無しさん (ワッチョイ 95da-Azad)
2019/08/09(金) 04:41:46.96ID:S4+H63Q60 どうでもいい細部かもしれないんですが、フォーム名やイベント名は、動詞と名詞どっちを先にするのがいいのでしょうか?
例えばユーザー登録フォームの場合、RegisterUserForm と UserRegisterForm
ユーザーが選択された時のイベントの場合、 SelectUserEvent と UserSelectEvent
どっちがいいでしょうか?
例えばユーザー登録フォームの場合、RegisterUserForm と UserRegisterForm
ユーザーが選択された時のイベントの場合、 SelectUserEvent と UserSelectEvent
どっちがいいでしょうか?
169デフォルトの名無しさん (オイコラミネオ MMad-W/MH)
2019/08/09(金) 08:20:41.97ID:VQZHSvvcM170デフォルトの名無しさん (ワッチョイ 615f-UN4U)
2019/08/09(金) 09:38:32.89ID:dc6G/Fnt0 まあ、全ての時計は独自の時間を刻んでいるので、そもそも一致させるのは不可能だし無駄なんだけどな。
171デフォルトの名無しさん (ワッチョイ 467c-QI54)
2019/08/09(金) 10:33:45.61ID:NKKMFBro0 >>168
イベントはUserSelectedが基本じゃないかな
イベントはUserSelectedが基本じゃないかな
172デフォルトの名無しさん (ワッチョイ 5524-iNuD)
2019/08/09(金) 11:51:03.15ID:01aaYby70 >>161>>162
具体的にはゲームのスキルクールタイム計算なので、数十ms程度の誤差は別に許容範囲であるため高精度である必要はないと書きました
深刻な回答してくれた方が多いようですが、別に今の方法でボトルネックになってる訳でもなく単純にこれよりベストな方法あるのかな?程度の感覚で聞きました
具体的にはゲームのスキルクールタイム計算なので、数十ms程度の誤差は別に許容範囲であるため高精度である必要はないと書きました
深刻な回答してくれた方が多いようですが、別に今の方法でボトルネックになってる訳でもなく単純にこれよりベストな方法あるのかな?程度の感覚で聞きました
173デフォルトの名無しさん (ドコグロ MMa5-sA8b)
2019/08/09(金) 12:13:27.68ID:WHBOK0wDM ゲームなら共通の世界時計を持っといて各ゲームコンポーネント側でそれに基づいて時間の差分を取るようにするべき
各自が勝手に時間を測るとポーズの実装とかで困ることになるよ
各自が勝手に時間を測るとポーズの実装とかで困ることになるよ
174デフォルトの名無しさん (ワッチョイ 0563-9bmP)
2019/08/09(金) 12:23:56.96ID:/8nxdn6c0 誤差が許容できるんだったらコードから意図が読みとれる奴がベター
175デフォルトの名無しさん (スッップ Sdfa-MjoS)
2019/08/09(金) 13:23:18.87ID:uqa/TGO4d >>173
たしかに
たしかに
176デフォルトの名無しさん (ワッチョイ b17c-Azad)
2019/08/09(金) 13:40:04.45ID:VpFvSLvY0 >>165-166
今朝のテレビでコンビニに苦情入れて出禁になったと訴えていた被害者が
まさにそんな感じの人だった
(苦情自体は正当でコンビニにミスがあったのは確かだが
コンビニが謝ってるのにどうでもいいことで納得しないで文句言い続けてた)
今朝のテレビでコンビニに苦情入れて出禁になったと訴えていた被害者が
まさにそんな感じの人だった
(苦情自体は正当でコンビニにミスがあったのは確かだが
コンビニが謝ってるのにどうでもいいことで納得しないで文句言い続けてた)
177デフォルトの名無しさん (ワッチョイ 615f-FKxW)
2019/08/09(金) 14:08:51.82ID:vlGdUztx0 ファイルを大量に更新するアプリを作ってるんだけど
クラウドストレージ上でやると同期に問題が多くて困ってる
単一のファイルをディレクトリのように扱えて
可変長・不特定多数のデータをファイル名をつけて格納できる
ライブラリとかないものだろうか
クラウドで同期して別のPCで実行したりするので
環境変数やサーバ構築、DBエンジンのインストールが必要なものは避けて
ポータブル系アプリのようにUSBで持ち運べる実装にしたい
理想は仮想ドライブを動的にアプリ内でマウントして
読み書きさせるような感じ
なにかいい知恵はないものだろうか…
クラウドストレージ上でやると同期に問題が多くて困ってる
単一のファイルをディレクトリのように扱えて
可変長・不特定多数のデータをファイル名をつけて格納できる
ライブラリとかないものだろうか
クラウドで同期して別のPCで実行したりするので
環境変数やサーバ構築、DBエンジンのインストールが必要なものは避けて
ポータブル系アプリのようにUSBで持ち運べる実装にしたい
理想は仮想ドライブを動的にアプリ内でマウントして
読み書きさせるような感じ
なにかいい知恵はないものだろうか…
178デフォルトの名無しさん (ワッチョイ 7dd2-qCp5)
2019/08/09(金) 15:12:17.76ID:OSNL5U/w0 ただの質問から人格攻撃にまで発展してる奴の方が妄想癖ありそうで怖いわ
なんかC#スレやVSスレって変な奴増えてきてるな
なんかC#スレやVSスレって変な奴増えてきてるな
179デフォルトの名無しさん (ワッチョイ 615f-FKxW)
2019/08/09(金) 15:27:08.13ID:vlGdUztx0 夏休みだからじゃないかな
180デフォルトの名無しさん (アウアウウー Sa39-QI54)
2019/08/09(金) 15:28:17.68ID:ti4i1VCta >>168
https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/names-of-type-members#names-of-events
イベント名は動詞か、時制つきの動詞にするのが習慣
既に書かれてるけど UserRegisterd や UserSelected のような名前にするのが一般的かな
命名に困ったら.NET標準のものを参考にするといいよ
>>169 のような「いちいちFormをプレフィックスにする」のは少なくとも.NETにはそぐわない
>>172
> 別に今の方法でボトルネックになってる訳でもなく
やはり「早すぎた最適化」について知っておくべき
>>177
> 単一のファイルをディレクトリのように扱えて
> 可変長・不特定多数のデータをファイル名をつけて格納できる
についてもう少し詳しく
もっともクラウドで同期の問題があるのなら、どんなライブラリを使おうとも大して変わらない気もするけれど
https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/names-of-type-members#names-of-events
イベント名は動詞か、時制つきの動詞にするのが習慣
既に書かれてるけど UserRegisterd や UserSelected のような名前にするのが一般的かな
命名に困ったら.NET標準のものを参考にするといいよ
>>169 のような「いちいちFormをプレフィックスにする」のは少なくとも.NETにはそぐわない
>>172
> 別に今の方法でボトルネックになってる訳でもなく
やはり「早すぎた最適化」について知っておくべき
>>177
> 単一のファイルをディレクトリのように扱えて
> 可変長・不特定多数のデータをファイル名をつけて格納できる
についてもう少し詳しく
もっともクラウドで同期の問題があるのなら、どんなライブラリを使おうとも大して変わらない気もするけれど
181デフォルトの名無しさん (ワッチョイ aee9-uprU)
2019/08/09(金) 15:42:32.52ID:l8EdBHZf0 パフォーマンス系の質問に対して無意味系の答えが返ってくるのって質問者も大体織り込み済みな上で質問してるだろうしそれなら返さなくて良いんじゃないかね
ガチの初心者ならまだしも質問者のレス内容的にその辺は分かった上で聞いてるだろう
まぁ初心者スレでパフォーマンスに関する質問する方が悪いとも言えるが
ガチの初心者ならまだしも質問者のレス内容的にその辺は分かった上で聞いてるだろう
まぁ初心者スレでパフォーマンスに関する質問する方が悪いとも言えるが
182デフォルトの名無しさん (ワッチョイ 4590-CsMW)
2019/08/09(金) 16:48:18.94ID:m7mfmdmp0 >>177
データベースのblobにファイルを突っ込むのが一番手っ取り早いが、速度や効率はまあ...
データベースのblobにファイルを突っ込むのが一番手っ取り早いが、速度や効率はまあ...
183デフォルトの名無しさん (ワッチョイ 4590-CsMW)
2019/08/09(金) 16:50:09.57ID:m7mfmdmp0 つか、クラウドストレージでやると同期の問題ってどんな問題か気になる
184デフォルトの名無しさん (ワッチョイ 7d61-VaZZ)
2019/08/09(金) 17:08:20.38ID:wy7G1+HC0 >>177
サーバー型のDBがだめならsqlite使えば?
サーバー型のDBがだめならsqlite使えば?
185デフォルトの名無しさん (ワッチョイ 615f-FKxW)
2019/08/09(金) 17:56:29.89ID:vlGdUztx0186デフォルトの名無しさん (スッップ Sdfa-MjoS)
2019/08/09(金) 17:59:34.02ID:uqa/TGO4d zipじゃだめなの?
187デフォルトの名無しさん (ワッチョイ 615f-FKxW)
2019/08/09(金) 18:00:19.74ID:vlGdUztx0 zipだと圧縮されている10万ファイルのうち
1個変更しただけでも再圧縮が必要にならない?
1個変更しただけでも再圧縮が必要にならない?
188デフォルトの名無しさん (ワッチョイ 615f-FKxW)
2019/08/09(金) 18:16:27.78ID:vlGdUztx0 あ、ごめん
zipって結構柔軟性あるんだね
削除も追加もできそうだしやってみる
sqliteも試してみる
ありがとね
zipって結構柔軟性あるんだね
削除も追加もできそうだしやってみる
sqliteも試してみる
ありがとね
189デフォルトの名無しさん (ブーイモ MMa1-aL2W)
2019/08/09(金) 19:02:58.69ID:GUJ7R2MVM190デフォルトの名無しさん (アウアウウー Sa39-fALZ)
2019/08/10(土) 14:54:00.10ID:ddvhW9sGa なんか昨日一日まったく5chにアクセス不能だったけど、
俺の環境固有の問題だったのか普通に書き込んでる人いるなw
>>168
UserRegistrationFormとか?
Formはサフィックスするなって意見もあるが、これは少数派の意見だと思うので
真に受けない方がいいと思う。
ほとんどの場合は付けた方が結局分かりやすいね。
あと、コントロールの変数名だけはハンガリアンを認める人も結構多い。
俺の環境固有の問題だったのか普通に書き込んでる人いるなw
>>168
UserRegistrationFormとか?
Formはサフィックスするなって意見もあるが、これは少数派の意見だと思うので
真に受けない方がいいと思う。
ほとんどの場合は付けた方が結局分かりやすいね。
あと、コントロールの変数名だけはハンガリアンを認める人も結構多い。
191デフォルトの名無しさん (アウウィフ FF39-Azad)
2019/08/10(土) 15:01:33.84ID:/ATKT2HCF 昨日アクセス不能だったのは事実
ただし鯖は生きてたのでDNSの問題
回避できるDNSのアドレス知ってるひとは
そっちに変更して普通に読み書き出来てた
方法は避難所に書いてあった
今は元に戻しても通常通り読み書きできる状態
ただし鯖は生きてたのでDNSの問題
回避できるDNSのアドレス知ってるひとは
そっちに変更して普通に読み書き出来てた
方法は避難所に書いてあった
今は元に戻しても通常通り読み書きできる状態
192デフォルトの名無しさん (アウアウウー Sa39-fALZ)
2019/08/10(土) 15:36:24.79ID:ddvhW9sGa >>191
へーそういう状況だったのか
へーそういう状況だったのか
193デフォルトの名無しさん (アウウィフ FF39-Azad)
2019/08/10(土) 15:40:36.25ID:/ATKT2HCF ついでに言うとDNSが死んだ原因は
2chを乗っ取った5chのjimの会社が
米の銃乱射の件でテロリスト認定されて
DNSサービスの停止になったってこと
さらにjimは指名手配で逃亡
5chは復旧したけどいつまで続くか判らんω
2chを乗っ取った5chのjimの会社が
米の銃乱射の件でテロリスト認定されて
DNSサービスの停止になったってこと
さらにjimは指名手配で逃亡
5chは復旧したけどいつまで続くか判らんω
194デフォルトの名無しさん (アウアウウー Sa39-QI54)
2019/08/10(土) 18:20:40.93ID:0gPdeKzpa195デフォルトの名無しさん (ワッチョイ 2e4a-WAxD)
2019/08/12(月) 10:36:30.39ID:HTWZ+S1Q0 SelectedTextやSelectionStart、SelectionLengthのような機能をカスタムコントロールに付けたいんですが
やっぱりMeasureStringとかでいちいち文字列の長さを測定したりするんでしょうか?
もしくは2次元配列を用意して1文字ずつその文字コードと座標を格納しておくか
やっぱりMeasureStringとかでいちいち文字列の長さを測定したりするんでしょうか?
もしくは2次元配列を用意して1文字ずつその文字コードと座標を格納しておくか
196デフォルトの名無しさん (ワッチョイ 76a7-4xPj)
2019/08/12(月) 10:57:06.87ID:kI0RZN1g0 コレクションに要素が存在するかを判定するとき、Count > 0ではなくLinqのAny()を使う意味ってあるのでしょうか?
可読性のためだけにこちらを使ってるんですかね?
可読性のためだけにこちらを使ってるんですかね?
197デフォルトの名無しさん (ワッチョイ 2117-+P8T)
2019/08/12(月) 11:01:09.66ID:2iL+RtWU0 >>195
TextBoxコントロールを使わないのならそうなるだろうね
等倍フォントなら少しは楽できるけどやることは変わらない
IMEの操作も考えてるんならAzukiっていうエディタコントロールを参考にすると良いよ
TextBoxコントロールを使わないのならそうなるだろうね
等倍フォントなら少しは楽できるけどやることは変わらない
IMEの操作も考えてるんならAzukiっていうエディタコントロールを参考にすると良いよ
198デフォルトの名無しさん (ワッチョイ 2e4a-WAxD)
2019/08/12(月) 11:26:07.50ID:HTWZ+S1Q0199デフォルトの名無しさん (ワッチョイ 761b-q/Jr)
2019/08/12(月) 11:41:48.29ID:ssrYJHqQ0 >>196
リンクの式はイテレータを返すだけだからCountやLengthのプロパティを持ってない。Count()メソッドがあるけどこれは全件評価が走ってしまうので、最終的に欲しい値が件数の場合以外は使わない。
その状態でイテレータに引っかかるのがあるかどうかを判定する際に使うのがAny()。普通のリストや配列に対してCountやLengthを使わずにAnyを使う意味はない。
リンクの式はイテレータを返すだけだからCountやLengthのプロパティを持ってない。Count()メソッドがあるけどこれは全件評価が走ってしまうので、最終的に欲しい値が件数の場合以外は使わない。
その状態でイテレータに引っかかるのがあるかどうかを判定する際に使うのがAny()。普通のリストや配列に対してCountやLengthを使わずにAnyを使う意味はない。
200デフォルトの名無しさん (ワッチョイ 76a7-4xPj)
2019/08/12(月) 11:56:29.02ID:kI0RZN1g0201デフォルトの名無しさん (ワッチョイ 6d63-4+Jo)
2019/08/12(月) 12:40:47.91ID:c1yJbHcz0 >>199
勉強になる
勉強になる
202デフォルトの名無しさん (ワッチョイ 7db0-8lAC)
2019/08/13(火) 15:58:52.24ID:hrddazny0 どこが「初心者用」だよ?って質問と回答ばかりだけどなww
昔は上級者用の質問スレもあったようだが
まあ一つに集約されてるほうが情報収集には便利だけど
スレタイはこっちが気に入ってるし
シャープとフラットをかけてる辺り
昔は上級者用の質問スレもあったようだが
まあ一つに集約されてるほうが情報収集には便利だけど
スレタイはこっちが気に入ってるし
シャープとフラットをかけてる辺り
203デフォルトの名無しさん (ワッチョイ 9a7d-X5Lh)
2019/08/13(火) 18:46:02.38ID:PAgqa6Je0 NuGetパッケージの管理より
Seleniumパッケージを最新にしました。
しかし、それから
Chrome は自動テスト ソフトウェアによって制御されています。
という文言が画面に出る様になってしまいました。
options.AddArgument("disable-infobars");
を指定する事でこれまでは、
この様なエラーメッセージは表示されていませんでした。
どうすれば消えますか?
Seleniumパッケージを最新にしました。
しかし、それから
Chrome は自動テスト ソフトウェアによって制御されています。
という文言が画面に出る様になってしまいました。
options.AddArgument("disable-infobars");
を指定する事でこれまでは、
この様なエラーメッセージは表示されていませんでした。
どうすれば消えますか?
204デフォルトの名無しさん (アウアウウー Sa39-QI54)
2019/08/13(火) 19:01:18.55ID:ZVs77qOsa >>203
標準でもなんでもないサードパーティーライブラリの話はスレ違い
↓あたりで適切なスレを探して
web制作管理 - 5ちゃんねる掲示板 https://mevius.5ch.net/hp/
WebProg - 5ちゃんねる掲示板 https://medaka.5ch.net/php/
標準でもなんでもないサードパーティーライブラリの話はスレ違い
↓あたりで適切なスレを探して
web制作管理 - 5ちゃんねる掲示板 https://mevius.5ch.net/hp/
WebProg - 5ちゃんねる掲示板 https://medaka.5ch.net/php/
205デフォルトの名無しさん (ワッチョイ 9161-R2sJ)
2019/08/13(火) 19:57:44.52ID:v4xllOHk0 >>203
その文言そのままgoogleにブチ込んで見る人生よ
その文言そのままgoogleにブチ込んで見る人生よ
206デフォルトの名無しさん (ワッチョイ 8963-cVv4)
2019/08/13(火) 20:37:06.27ID:4ID4APxI0 ずーっとseleniumと格闘してんね
207デフォルトの名無しさん (アウアウウー Sa39-fALZ)
2019/08/13(火) 20:54:18.53ID:yZEhfFzKa >>205
すごい字余りの川柳かと思った
すごい字余りの川柳かと思った
208デフォルトの名無しさん (ワッチョイ 6d63-4+Jo)
2019/08/13(火) 20:59:35.55ID:Gdeao/QQ0 セレニウム野郎まだいたのかよw
209デフォルトの名無しさん (ワッチョイ 9a7d-X5Lh)
2019/08/13(火) 21:33:22.43ID:PAgqa6Je0210デフォルトの名無しさん (アウアウウー Sa39-QI54)
2019/08/13(火) 21:45:22.03ID:ZVs77qOsa211デフォルトの名無しさん (ワッチョイ 8963-cVv4)
2019/08/13(火) 22:29:42.70ID:4ID4APxI0 >>209
君が解説ブログかけばいいんでは?
てか解説ブログあること前提なの?
リリースノート見るなりソース読むなりすればいいのでは?
できないならなんでバージョンあげたの?
問題出たならバージョン戻せば?
なんのためにnuget使ってるの?
君が解説ブログかけばいいんでは?
てか解説ブログあること前提なの?
リリースノート見るなりソース読むなりすればいいのでは?
できないならなんでバージョンあげたの?
問題出たならバージョン戻せば?
なんのためにnuget使ってるの?
212デフォルトの名無しさん (ワッチョイ 761b-q/Jr)
2019/08/13(火) 22:56:59.36ID:eH0ENH5J0 ちなみにこれってエヌユーゲッツなんかねヌゲッツなんかね。稀に他人と会話することがあるんだけど口頭で言う時に困る単語のひとつ…!
213デフォルトの名無しさん (ワッチョイ 2117-+P8T)
2019/08/13(火) 23:00:05.96ID:RVQw4+nc0214デフォルトの名無しさん (ワッチョイ 9a7d-X5Lh)
2019/08/13(火) 23:01:57.10ID:PAgqa6Je0215デフォルトの名無しさん (ワッチョイ da2c-8lAC)
2019/08/13(火) 23:10:42.03ID:kJJDzO2R0 漏れは、Ruby で、Selenium WebDriver を使っているけど、
「Chrome は自動テスト ソフトウェアによって制御されています」というメッセージは閉じれるけど、
その部分を閉じても、その幅が消えないから、使える画面が少なくなる
「Chrome は自動テスト ソフトウェアによって制御されています」というメッセージは閉じれるけど、
その部分を閉じても、その幅が消えないから、使える画面が少なくなる
216デフォルトの名無しさん (ワッチョイ 8963-cVv4)
2019/08/13(火) 23:18:57.47ID:4ID4APxI0 selenium君もruby君もスレからずれたレスしないでね
217デフォルトの名無しさん (ワッチョイ 761b-q/Jr)
2019/08/13(火) 23:24:54.56ID:eH0ENH5J0218デフォルトの名無しさん (ワッチョイ 7d9f-PMB1)
2019/08/13(火) 23:29:34.04ID:mICjniMU0 selenium君はRuby君を反面教師にするといいよ。
スレ違いを繰り返すのがどれだけ他人から見て迷惑でみっともない行為なのかをこれ程上手く伝えられる教材はとても稀だから。
スレ違いを繰り返すのがどれだけ他人から見て迷惑でみっともない行為なのかをこれ程上手く伝えられる教材はとても稀だから。
219デフォルトの名無しさん (ワッチョイ 9a7d-X5Lh)
2019/08/14(水) 00:36:59.18ID:jQtv4Yb60 C#+Seleniumなのでこのスレが正しい
220デフォルトの名無しさん (ワッチョイ 8963-cVv4)
2019/08/14(水) 01:38:02.43ID:GCJub4Dp0 誘導を無視することは正しいことですか?
ライブラリの問題であって言語の問題ではないから誘導しているのです
使用しているのがC#であっても言語の質問でなければ正しくはありません
問題が言語なのかライブラリなのかわからない人もいるので初めてレスするなら何の問題も無いし、誘導してくれるでしょう
今まで何度誘導を無視しましたか?
長期間、言語ではなくライブラリを起因とする質問を繰り返すのは正しいのですか?
ライブラリの問題であって言語の問題ではないから誘導しているのです
使用しているのがC#であっても言語の質問でなければ正しくはありません
問題が言語なのかライブラリなのかわからない人もいるので初めてレスするなら何の問題も無いし、誘導してくれるでしょう
今まで何度誘導を無視しましたか?
長期間、言語ではなくライブラリを起因とする質問を繰り返すのは正しいのですか?
221デフォルトの名無しさん (ワッチョイ 9a7d-X5Lh)
2019/08/14(水) 02:14:02.89ID:jQtv4Yb60 それはあくまでもあなたの意見でしょうが
222デフォルトの名無しさん (アウアウウー Sa39-fALZ)
2019/08/14(水) 03:08:22.27ID:YX6BCcxFa 芸人の押すなよは押せって意味だからどんどんやっていいよ
どうせ過疎スレで人口なんか恐らく数十人しかいないw
どうせ過疎スレで人口なんか恐らく数十人しかいないw
223デフォルトの名無しさん (ワッチョイ 8963-cVv4)
2019/08/14(水) 03:17:28.62ID:GCJub4Dp0 1に書いてあることと同じだけど、どのへんがあなたの意見なの?
224デフォルトの名無しさん (ワッチョイ 7d9f-PMB1)
2019/08/14(水) 08:25:36.73ID:RPrYPUsF0225デフォルトの名無しさん (ワッチョイ da42-ML0/)
2019/08/14(水) 08:33:56.94ID:28G/wIAb0 そもそもWinFormsもWPFも言語仕様じゃなくてライブラリだ
ライブラリを外せってのは余りに酷い暴論だよ
ライブラリを外せってのは余りに酷い暴論だよ
226デフォルトの名無しさん (ワッチョイ b138-lqkE)
2019/08/14(水) 08:59:28.69ID:gdRXPT/U0 ライブラリが即NGじゃなく
サードパーティ制のライブラリがメインの質問&原因だからスレ違いでしょ
標準ライブラリは勿論OKだし
C#に関連の深い.NETやVisualStudio周りなら多少逸れてもOKだろうし
サードパーティでも例えばODP.NETとかのら基本的な質問なら答えても文句言われないでしょ
逆にUnity絡みならC#であっても専門スレのが有益だから誘導されるだろうし
誘導には、スレが汚れるから他所へ行けって側面と
ここだとまともな回答が得られないからこっちを当たれって案内の面があるんよ
サードパーティ制のライブラリがメインの質問&原因だからスレ違いでしょ
標準ライブラリは勿論OKだし
C#に関連の深い.NETやVisualStudio周りなら多少逸れてもOKだろうし
サードパーティでも例えばODP.NETとかのら基本的な質問なら答えても文句言われないでしょ
逆にUnity絡みならC#であっても専門スレのが有益だから誘導されるだろうし
誘導には、スレが汚れるから他所へ行けって側面と
ここだとまともな回答が得られないからこっちを当たれって案内の面があるんよ
227デフォルトの名無しさん (ワッチョイ 6d63-4+Jo)
2019/08/14(水) 09:34:24.96ID:mrBPpWLv0 >>217
この前マイクロソフトの人柄ヌゲットと言ってたからヌゲットでOK
この前マイクロソフトの人柄ヌゲットと言ってたからヌゲットでOK
228デフォルトの名無しさん (ワッチョイ da42-ML0/)
2019/08/14(水) 09:38:00.49ID:28G/wIAb0229デフォルトの名無しさん (ワッチョイ 4590-CsMW)
2019/08/14(水) 12:04:33.55ID:RWvjQCFF0 馬鹿がなんと言おうとスレチ
230デフォルトの名無しさん (ラクッペ MMa5-9bmP)
2019/08/14(水) 12:05:06.26ID:HkWgtzgRM つかSelenium君の問題は、Seleniumの問題というより
彼の頭の悪さの問題なんだよ
それを解決するのはこのスレじゃない
そこは明白だろ
彼の頭の悪さの問題なんだよ
それを解決するのはこのスレじゃない
そこは明白だろ
231デフォルトの名無しさん (アウアウウー Sa39-fALZ)
2019/08/14(水) 12:38:54.90ID:Ct2lHzgAa 誘導してる人の動機が利他的なものなら素晴らしいことだけど、
実際は人を批判しないと気が済まないだけだからねw
そこを見透かされてからかわれているのに、それがわからないところが何とも滑稽だね
だいたいこんな過疎スレで周辺分野の質問があって誰が困るのかねw
誰も困らないと思うけど。
実際は人を批判しないと気が済まないだけだからねw
そこを見透かされてからかわれているのに、それがわからないところが何とも滑稽だね
だいたいこんな過疎スレで周辺分野の質問があって誰が困るのかねw
誰も困らないと思うけど。
232デフォルトの名無しさん (ワッチョイ 5a2c-QI54)
2019/08/14(水) 12:48:55.76ID:LymH/UUL0 質問者本人が(回答を得られないという点で)困るだろ
233デフォルトの名無しさん (ワッチョイ 2117-+P8T)
2019/08/14(水) 13:03:38.03ID:pFnHcoJr0 スレチな質問なんだから誘導して貰えるだけマシ
234デフォルトの名無しさん (ワッチョイ 7d9f-PMB1)
2019/08/14(水) 13:09:35.97ID:RPrYPUsF0 質問者以外も、どうでもいいやり取りを見せられて迷惑だと思うよ。
過疎っていても適切な話題が書き込まれていた方が良い状態だと思う。
過疎っていても適切な話題が書き込まれていた方が良い状態だと思う。
235デフォルトの名無しさん (ワッチョイ 6d63-4+Jo)
2019/08/14(水) 13:40:20.40ID:mrBPpWLv0 >>231
君のようなオナニー野郎が1番気持ち悪いよ
君のようなオナニー野郎が1番気持ち悪いよ
236デフォルトの名無しさん (ワッチョイ 9a7d-X5Lh)
2019/08/14(水) 14:49:03.49ID:jQtv4Yb60 そもそも
C#もSeleniumも根本はC++で実装さえれている
Seleniumに詳しいヤツがいないから
いいがかりつけられてばかりでかわいそう
C#もSeleniumも根本はC++で実装さえれている
Seleniumに詳しいヤツがいないから
いいがかりつけられてばかりでかわいそう
237デフォルトの名無しさん (ワッチョイ 7d9f-PMB1)
2019/08/14(水) 15:26:24.08ID:RPrYPUsF0238デフォルトの名無しさん (ワッチョイ 2117-+P8T)
2019/08/14(水) 15:39:01.35ID:pFnHcoJr0239デフォルトの名無しさん (ワッチョイ 9a7d-X5Lh)
2019/08/14(水) 16:13:47.02ID:jQtv4Yb60 C#の言語自体がC++で作られてる事をしらんふぬけども
240デフォルトの名無しさん (ワッチョイ 71da-aL2W)
2019/08/14(水) 16:16:19.89ID:IV/LzryA0 僕の内臓を返せ〜
241デフォルトの名無しさん (オイコラミネオ MMad-lqkE)
2019/08/14(水) 16:59:56.55ID:jDEWV9x2M Roslynも知らないガイ
242デフォルトの名無しさん (ワッチョイ 8963-cVv4)
2019/08/14(水) 17:00:39.76ID:GCJub4Dp0 そもそもかなり長期間seleniumの質問が投げられてるのにseleniumに詳しい奴からの回答なんてruby君以外からほぼ無い状態
だからこそ誘導してるんじゃないか
スレ趣旨から多少ずれてようがわかる範囲なら回答してる
回答した上で誘導までしてるのに誘導だけは無視して延々と質問を投げるなら嵐とかわらんじゃないか
だからこそ誘導してるんじゃないか
スレ趣旨から多少ずれてようがわかる範囲なら回答してる
回答した上で誘導までしてるのに誘導だけは無視して延々と質問を投げるなら嵐とかわらんじゃないか
243デフォルトの名無しさん (ワッチョイ 2117-+P8T)
2019/08/14(水) 17:01:32.64ID:pFnHcoJr0 >>239
GitHub - dotnet/coreclr: CoreCLR is the runtime for .NET Core. It includes the garbage collector, JIT compiler, primitive data types and low-level classes.
https://github.com/dotnet/coreclr
コア部分は間違いなくC++で開発されているから安心して巣立ってくれ
GitHub - dotnet/coreclr: CoreCLR is the runtime for .NET Core. It includes the garbage collector, JIT compiler, primitive data types and low-level classes.
https://github.com/dotnet/coreclr
コア部分は間違いなくC++で開発されているから安心して巣立ってくれ
244デフォルトの名無しさん (ワッチョイ 9161-R2sJ)
2019/08/14(水) 18:33:13.55ID:rSDdWO1t0 聞きたくなければ黙ってseleniumをNGワードに入れれば良い
匿名掲示板なので日記書くやつもいるだろうし
他人の服装まで直す行為は無駄
ごちゃごちゃ発言するな
匿名掲示板なので日記書くやつもいるだろうし
他人の服装まで直す行為は無駄
ごちゃごちゃ発言するな
245デフォルトの名無しさん (ワッチョイ bd22-qe0K)
2019/08/14(水) 18:48:49.85ID:Q4kX3C+k0 いいかげんseleniumの話題はやめて欲しいよね
246デフォルトの名無しさん (アウアウクー MM35-dEal)
2019/08/14(水) 21:06:43.58ID:dNTNWi1CM 業務アプリケーションでElectron.NET使ってる人いる?そういった技術も習得してた方がいいかな?
247デフォルトの名無しさん (ワッチョイ 71da-aL2W)
2019/08/14(水) 21:09:29.90ID:IV/LzryA0 どうしてなの――ッ!!
どうしてエレクトロンしないのよーッ!!
どうしてエレクトロンしないのよーッ!!
248デフォルトの名無しさん (アウアウカー Sa4d-ahKc)
2019/08/14(水) 21:11:16.53ID:eGLvTmmqa 業務アプリって比較的新しい技術ってあんま使わなくね?
使えるように勉強するのは多いに結構なことだとは思うけど
使えるように勉強するのは多いに結構なことだとは思うけど
249デフォルトの名無しさん (ワッチョイ 4602-2Yos)
2019/08/14(水) 21:34:40.40ID:oxhAJDr00 RPAスレはSeleniumの話題OKだからそっちいきなよ
250デフォルトの名無しさん (ワッチョイ 0563-9bmP)
2019/08/14(水) 22:21:04.82ID:bBZ00i3Q0 Seleniumスレでも発達障害は解決できるとは思えないけどな
251デフォルトの名無しさん (ワッチョイ 132c-BF++)
2019/08/15(木) 00:01:22.09ID:5MxOdPEK0 options.add_argument( '--disable-infobars' ) # 通知バーを消す
Ruby で、こう書いても、通知バーを消せない!
Chrome なんて、仕様をコロコロ勝手に変えるし、文書も作らないだろ。
ソースコードを読めって、無茶苦茶だろw
各ブラウザの機能なんて、相手にしないほうが良い
Ruby で、こう書いても、通知バーを消せない!
Chrome なんて、仕様をコロコロ勝手に変えるし、文書も作らないだろ。
ソースコードを読めって、無茶苦茶だろw
各ブラウザの機能なんて、相手にしないほうが良い
252デフォルトの名無しさん (ワッチョイ 3302-QMAU)
2019/08/15(木) 00:17:18.78ID:4RLQ3HFd0253デフォルトの名無しさん (ワッチョイ 2b0d-zR3O)
2019/08/15(木) 01:51:37.30ID:yTBvPSIa0 業務アプリは大規模開発だったり要件が機能追加(既存ソースの流用)だったりが多いから知ってる人が少ない技術は敬遠される傾向があるよね・・・
254デフォルトの名無しさん (ワッチョイ d9da-QMAU)
2019/08/15(木) 05:13:06.12ID:YYpr9nEd0 dapper で、dynamic型で取得したレコードのカラム名は、どうやってプロパティにマッピング?すればよいでしょうか?
以下のようなイメージです。
var list = connection.Query<dynamic>(@"SELECT cd, name FROM hoge_table").ToList();
list.ForEach(item =>
{
this.cd = item.cd; //cdカラムは存在しているが、この方法では取得出来ない。
});
以下のようなイメージです。
var list = connection.Query<dynamic>(@"SELECT cd, name FROM hoge_table").ToList();
list.ForEach(item =>
{
this.cd = item.cd; //cdカラムは存在しているが、この方法では取得出来ない。
});
255デフォルトの名無しさん (ワッチョイ 13ad-OTj7)
2019/08/15(木) 05:18:20.88ID:bD8BPP4C0 なぜdynamicなんか使ってるの?
256デフォルトの名無しさん (ワッチョイ 9389-lrGw)
2019/08/15(木) 09:03:09.32ID:NGEmLDBt0257デフォルトの名無しさん (ワッチョイ 132c-gphu)
2019/08/15(木) 13:17:25.77ID:XW4rFrdd0 using (var conn = new SQLiteConnection("Data Source=:memory:"))
{
conn.Open();
conn.Execute("CREATE TABLE test (cd INTEGER, name TEXT)");
conn.Execute("INSERT INTO test VALUES (@cd, @name)", new { cd = 1, name = "a" });
conn.Execute("INSERT INTO test VALUES (@cd, @name)", new { cd = 2, name = "b" });
foreach (var row in conn.Query<dynamic>("SELECT cd, name FROM test"))
{
Debug.WriteLine($"{row.cd} - {row.name}");
}
}
問題なかったけど?
コンパイルエラーになってるんだったらその内容書いて
{
conn.Open();
conn.Execute("CREATE TABLE test (cd INTEGER, name TEXT)");
conn.Execute("INSERT INTO test VALUES (@cd, @name)", new { cd = 1, name = "a" });
conn.Execute("INSERT INTO test VALUES (@cd, @name)", new { cd = 2, name = "b" });
foreach (var row in conn.Query<dynamic>("SELECT cd, name FROM test"))
{
Debug.WriteLine($"{row.cd} - {row.name}");
}
}
問題なかったけど?
コンパイルエラーになってるんだったらその内容書いて
258デフォルトの名無しさん (ワッチョイ 0963-77RX)
2019/08/15(木) 15:14:02.56ID:jCEAQJdF0 常駐するアプリを作るとき、serviceにすると何が嬉しいのですか?
259デフォルトの名無しさん (ワッチョイ d1da-SHDy)
2019/08/15(木) 15:26:23.04ID:nQmxjzka0 ログインしてなくても動く
260デフォルトの名無しさん (ワッチョイ a922-x+FD)
2019/08/15(木) 16:03:39.12ID:wwJYNY5r0 ありがとうございます
261デフォルトの名無しさん (ワッチョイ 51ba-/tGK)
2019/08/15(木) 17:15:06.30ID:X+hhUeCb0 >>255
dapperはdynamic使うのが簡単でウマーだから
dapperはdynamic使うのが簡単でウマーだから
262デフォルトの名無しさん (ワッチョイ 0963-77RX)
2019/08/15(木) 18:25:05.09ID:jCEAQJdF0 >>261
インジェクション対策は?
インジェクション対策は?
263デフォルトの名無しさん (ワッチョイ 8b1b-RZ8Y)
2019/08/15(木) 18:41:02.43ID:VbDuA0j40 >>262
ちゃんとパラメーター変数使ってるジャン
ちゃんとパラメーター変数使ってるジャン
264デフォルトの名無しさん (スプッッ Sd73-OTj7)
2019/08/15(木) 19:29:51.78ID:UYxtktoid >>261
cdカラムとかを指定して取り出したいなら結局クラス作った方が楽やん
cdカラムとかを指定して取り出したいなら結局クラス作った方が楽やん
265デフォルトの名無しさん (ワッチョイ 1342-NA/o)
2019/08/15(木) 20:14:41.68ID:BPnFBcl20 大文字小文字の問題とか無いのかな?
止めて変数rowをウォッチしてみてね
止めて変数rowをウォッチしてみてね
266デフォルトの名無しさん (ワッチョイ 51ba-/tGK)
2019/08/15(木) 20:56:25.88ID:X+hhUeCb0 >>264
ケースバイでしょ
ケースバイでしょ
267デフォルトの名無しさん (ワッチョイ 13ad-OTj7)
2019/08/15(木) 20:58:03.96ID:bD8BPP4C0 >>266
うん、だけどそれで悩んでるのは事実やん
うん、だけどそれで悩んでるのは事実やん
268デフォルトの名無しさん (ワッチョイ 937d-g2bq)
2019/08/15(木) 21:46:48.94ID:pWdXHbkI0269デフォルトの名無しさん (ワッチョイ d1da-SHDy)
2019/08/15(木) 22:36:14.06ID:nQmxjzka0 あーハイハイ
270251 (ワッチョイ 132c-BF++)
2019/08/15(木) 23:18:45.58ID:5MxOdPEK0 まあ、Ruby では、
driver.execute_script で、JavaScript(JS)のソースコードを実行できるから、
通知バーの要素を取得して、その部分を、JS で削除できるかも知れない
例えば、漏れは普段、Showroom の多くのアバターなどを、こうやって削除している
jsCode = <<'EOT'
var elem = document.getElementById('js-avatar');
elem.parentNode.removeChild(elem);
EOT
driver.execute_script jsCode
driver.execute_script で、JavaScript(JS)のソースコードを実行できるから、
通知バーの要素を取得して、その部分を、JS で削除できるかも知れない
例えば、漏れは普段、Showroom の多くのアバターなどを、こうやって削除している
jsCode = <<'EOT'
var elem = document.getElementById('js-avatar');
elem.parentNode.removeChild(elem);
EOT
driver.execute_script jsCode
271デフォルトの名無しさん (ワッチョイ 299f-+XXD)
2019/08/16(金) 00:31:14.40ID:Capr2asl0 一人でも煩いスレ違い居座り野郎が、二人になって相互作用まで始めてしまったか。
272デフォルトの名無しさん (ワッチョイ 0963-77RX)
2019/08/16(金) 00:40:48.73ID:w8wDW0z80 せめてjavaスレいけよ
273デフォルトの名無しさん (ワッチョイ 2b0d-zR3O)
2019/08/16(金) 00:47:42.08ID:9Iug+Ez/0 ん?なんでrubyの話が突然出てくるんだ?
274デフォルトの名無しさん (ワッチョイ 59ad-jrf6)
2019/08/16(金) 00:56:27.81ID:jFKiomKf0 だから。相手にすんなよ。
しつこくても枯死するまで放って置けばいいのに。
しつこくても枯死するまで放って置けばいいのに。
275デフォルトの名無しさん (ワッチョイ 299f-+XXD)
2019/08/16(金) 00:57:25.58ID:Capr2asl0 >>273
いくらやめろと言われてもところ構わず唐突にRubyの話を始める頭のおかしい奴が、この板にいついているから。スレタイにRuby禁止と書かれているスレがいくつかあるが、コイツが原因。
いくらやめろと言われてもところ構わず唐突にRubyの話を始める頭のおかしい奴が、この板にいついているから。スレタイにRuby禁止と書かれているスレがいくつかあるが、コイツが原因。
276デフォルトの名無しさん (ワッチョイ 596e-DuLZ)
2019/08/16(金) 00:58:13.28ID:2i9/2j960 C#っつーかプログラミング言語一般の話になっちゃうかもしれないんですけど
勉強してて例外のところに差し掛かったんですけどめっちゃ色々種類あるじゃないですか
んでもって例えば関数一つ作るにしても考えようによってはほんと沢山の種類の例外が発生する可能性がありますよね
そういうのをとにかく可能性が少しでもあれば例外をスローするようにしてたらコードが例外ばっかになっちゃう気がします
書く例外と書かない例外の境界線はどこにあるのでしょうか
勉強してて例外のところに差し掛かったんですけどめっちゃ色々種類あるじゃないですか
んでもって例えば関数一つ作るにしても考えようによってはほんと沢山の種類の例外が発生する可能性がありますよね
そういうのをとにかく可能性が少しでもあれば例外をスローするようにしてたらコードが例外ばっかになっちゃう気がします
書く例外と書かない例外の境界線はどこにあるのでしょうか
277デフォルトの名無しさん (ワッチョイ 299f-+XXD)
2019/08/16(金) 00:58:14.57ID:Capr2asl0 >>274
すまん、その通りだな
すまん、その通りだな
278デフォルトの名無しさん (アウアウウー Sa5d-h434)
2019/08/16(金) 01:08:02.04ID:G0Kx7mvIa >>276
よくわからん理屈だな
仮にその例外を「書かない」と判断したとして、その「例外的な状態」を例外の代わりにどう処理するつもり?
放置しても問題なく動き続けられるorその場で適切な対処をして回復できるなら、そりゃ例外投げるよりその方がいいに決まってる
よくわからん理屈だな
仮にその例外を「書かない」と判断したとして、その「例外的な状態」を例外の代わりにどう処理するつもり?
放置しても問題なく動き続けられるorその場で適切な対処をして回復できるなら、そりゃ例外投げるよりその方がいいに決まってる
279デフォルトの名無しさん (ワッチョイ 299f-+XXD)
2019/08/16(金) 01:13:52.65ID:Capr2asl0 >>276
ライブラリ関数に渡す引数が正しくないとかのように、自分が書いているコードが正しくない場合に発生する例外、逆に言えば正しいコードを書けば発生しない例外は基本的にその場ではいちいちcatchしない。
ただし完全にバグがないということを保証するのは困難なので、プログラムの上流でまとめてcatchして何らかのメッセージを出すなどした方が良い。どう対処すべきかはそのシステムに求められる要件次第だけど。
ファイルにアクセスできないとか、ユーザからの入力データが正しくないことにより発生するような例外とか、自分のコードの外部の要因で発生する可能性のある例外は、その都度catchして適切に対処する必要がある。
ライブラリ関数に渡す引数が正しくないとかのように、自分が書いているコードが正しくない場合に発生する例外、逆に言えば正しいコードを書けば発生しない例外は基本的にその場ではいちいちcatchしない。
ただし完全にバグがないということを保証するのは困難なので、プログラムの上流でまとめてcatchして何らかのメッセージを出すなどした方が良い。どう対処すべきかはそのシステムに求められる要件次第だけど。
ファイルにアクセスできないとか、ユーザからの入力データが正しくないことにより発生するような例外とか、自分のコードの外部の要因で発生する可能性のある例外は、その都度catchして適切に対処する必要がある。
280デフォルトの名無しさん (ワッチョイ 1161-F6B6)
2019/08/16(金) 01:51:17.26ID:XNgAzUDc0 四則演算やっても
オーバーフローもゼロ除算もあるしね
一番上のcatchでまるっと処理したほうがええ
オーバーフローもゼロ除算もあるしね
一番上のcatchでまるっと処理したほうがええ
281デフォルトの名無しさん (ワッチョイ 132f-BF++)
2019/08/16(金) 02:16:34.36ID:3ldAil1N0282デフォルトの名無しさん (アウアウウー Sa5d-woyF)
2019/08/16(金) 02:17:58.68ID:KW3/fLy3a >>276
そんなの手を動かさずに机上で考えてるからそうなるだけw
処理できない問題は(基本的には)例外を投げて呼び出し側に通知するしかない。
処理できない例外は投げるしかない。
処理できないのにcatchして握りつぶしてよい例外なんかない。
何が難しいの?
そんなの手を動かさずに机上で考えてるからそうなるだけw
処理できない問題は(基本的には)例外を投げて呼び出し側に通知するしかない。
処理できない例外は投げるしかない。
処理できないのにcatchして握りつぶしてよい例外なんかない。
何が難しいの?
283デフォルトの名無しさん (ワッチョイ 51ba-/tGK)
2019/08/16(金) 05:58:38.34ID:RrHjcCxL0 初心者マークの人へのアドバイスとしては
例外をthrowするケースは
・事前条件が崩れる場合、例えば引数がおかしい場合や処理の準備が整わない場合
・処理に失敗したことを伝える場合
まずはこのあたりを基準に
逆にcatchはむやみやたらにしてはいけないし、特に握り潰してはいけない
他人のソースをたくさん読んで、たくさん考えて書くしかないよね
例外をthrowするケースは
・事前条件が崩れる場合、例えば引数がおかしい場合や処理の準備が整わない場合
・処理に失敗したことを伝える場合
まずはこのあたりを基準に
逆にcatchはむやみやたらにしてはいけないし、特に握り潰してはいけない
他人のソースをたくさん読んで、たくさん考えて書くしかないよね
284デフォルトの名無しさん (アウアウエー Sae3-Qfcm)
2019/08/16(金) 07:20:17.23ID:z6Pxs9AVa javaみたいに「このメソッドはこんな例外を投げるから必ずtry-catch書けよ」ってできなかったっけC#
285デフォルトの名無しさん (アウアウウー Sa5d-h434)
2019/08/16(金) 07:41:23.99ID:G0Kx7mvIa286デフォルトの名無しさん (ワッチョイ b963-+d9c)
2019/08/16(金) 09:30:31.26ID:1KF8kPqD0 そもそもチェック例外を採用した言語ってJava以外にあったか
287デフォルトの名無しさん (ワッチョイ 0963-77RX)
2019/08/16(金) 09:33:04.09ID:w8wDW0z80 >>276
動作止めたくないなら例外拾って全部ログに書き込む
動作止めたくないなら例外拾って全部ログに書き込む
288デフォルトの名無しさん (ササクッテロ Sp85-qnpc)
2019/08/16(金) 11:35:21.61ID:16ocBcE+p 全部のケースを全部継続可能か不可能か判断してケース分けするに決まってんだろ。
甘えんな
甘えんな
289デフォルトの名無しさん (ブーイモ MM4d-mMpN)
2019/08/16(金) 11:43:27.15ID:i2ShkSLcM 俺はtry入れないでまず作って
例外が頻発する箇所に追加していく感じ
最初から丁寧に入れていくのは時間の無駄が多い
例外が頻発する箇所に追加していく感じ
最初から丁寧に入れていくのは時間の無駄が多い
290デフォルトの名無しさん (アウアウウー Sa5d-woyF)
2019/08/16(金) 12:43:54.88ID:vQM55/5Pa いやとにかく
(1) 例外を投げるかどうか
(2) 例外をcatchするかどうか
こんなことで悩むなんてありえないよ。悩む理由がない。
悩みどころなんて、どの例外を投げるかの選択、あるいは例外をどの程度
場合分けするか、ぐらいしかない。
これは例えば、引数が変だった場合にとにかくいつでもざっくりArgumentExceptionを投げて済ますか、
引数がどう不適切なのか、細かく場合分けしてより適切な例外を投げるようにするかの選択
余談だけどこういうと怒る人もいるかもしれんが、個人的には例外の場合分けなんて
本当はどうでもいいと思ってるw
役に立つことはほぼないwほとんど場合プログラマの自己満足だw
そのコードを見られる場合にはね。(だから他人が使うライブラリを書いてる場合は別問題)
(1) 例外を投げるかどうか
(2) 例外をcatchするかどうか
こんなことで悩むなんてありえないよ。悩む理由がない。
悩みどころなんて、どの例外を投げるかの選択、あるいは例外をどの程度
場合分けするか、ぐらいしかない。
これは例えば、引数が変だった場合にとにかくいつでもざっくりArgumentExceptionを投げて済ますか、
引数がどう不適切なのか、細かく場合分けしてより適切な例外を投げるようにするかの選択
余談だけどこういうと怒る人もいるかもしれんが、個人的には例外の場合分けなんて
本当はどうでもいいと思ってるw
役に立つことはほぼないwほとんど場合プログラマの自己満足だw
そのコードを見られる場合にはね。(だから他人が使うライブラリを書いてる場合は別問題)
291デフォルトの名無しさん (アウアウウー Sa5d-woyF)
2019/08/16(金) 12:50:25.25ID:vQM55/5Pa あと、そもそもメソッドのデザインとして
例外を投げる代わりにout引数か戻り値でnull(あるいは例外オブジェクト)
を返すって選択肢もあるから、そこで迷うってケースもないことはないけどね。
呼び出し側でいちいちtryブロックを書く必要があるのは鬱陶しい、
って需要もあるから
例外を投げる代わりにout引数か戻り値でnull(あるいは例外オブジェクト)
を返すって選択肢もあるから、そこで迷うってケースもないことはないけどね。
呼び出し側でいちいちtryブロックを書く必要があるのは鬱陶しい、
って需要もあるから
292デフォルトの名無しさん (アウアウエー Sae3-SXVW)
2019/08/16(金) 12:59:06.06ID:mZqFzvyqa キモいRuby厨はスレ追い出されてC#スレに引っ越した
293デフォルトの名無しさん (ワッチョイ 0963-77RX)
2019/08/16(金) 13:33:31.65ID:w8wDW0z80 >>289
たぶん環境が緩いというか品質が知れるわ
たぶん環境が緩いというか品質が知れるわ
294デフォルトの名無しさん (スプッッ Sd73-OTj7)
2019/08/16(金) 14:56:57.30ID:/nFnP4zmd >>291
out使うのはなぜ?
out使うのはなぜ?
295デフォルトの名無しさん (ワッチョイ b102-NA/o)
2019/08/16(金) 15:10:09.14ID:Boqt1xFK0 outでエラーコード返すのでは?
296デフォルトの名無しさん (スフッ Sd33-RZ8Y)
2019/08/16(金) 15:19:40.41ID:s9O3qxdqd 昔はout使う構文が嫌いだったけど、7.0でインライン宣言出来るようになってからそうでもなくなった
297デフォルトの名無しさん (ワッチョイ 8be3-g2bq)
2019/08/16(金) 16:31:30.73ID:vdJZcXlx0 ValueTupleにエラーコード入れて返すじゃ駄目なの?
298デフォルトの名無しさん (アウアウウー Sa5d-woyF)
2019/08/16(金) 16:34:34.90ID:vQM55/5Pa299デフォルトの名無しさん (ワッチョイ 937d-g2bq)
2019/08/16(金) 16:37:56.56ID:AwRYym3H0300デフォルトの名無しさん (スプッッ Sd73-OTj7)
2019/08/16(金) 16:52:07.81ID:/nFnP4zmd >>298
タプルで返せばよくない?
タプルで返せばよくない?
301デフォルトの名無しさん (スフッ Sd33-oOLq)
2019/08/16(金) 17:53:53.26ID:9StEh2pLd 例外はログ拾う時に絶望したくないから適切に投げるなぁ。
どうでも良いという論調は作るだけで保守しない人の発想みたいで少し嫌かもしれん。
アプリケーションのロジックをバッチでも使いたい、みたいな時に、毎度戻り値を検証するんじゃなくてバッチの一連のトランザクション自体落としちゃいたい時に二度手間な気がするんだが、その辺どう作ってるんだろう?
どうでも良いという論調は作るだけで保守しない人の発想みたいで少し嫌かもしれん。
アプリケーションのロジックをバッチでも使いたい、みたいな時に、毎度戻り値を検証するんじゃなくてバッチの一連のトランザクション自体落としちゃいたい時に二度手間な気がするんだが、その辺どう作ってるんだろう?
302デフォルトの名無しさん (ササクッテロ Sp85-qnpc)
2019/08/16(金) 19:27:37.17ID:16ocBcE+p >>301
二度手間と思うのは一人で全部コード書いてるから。
二度手間と思うのは一人で全部コード書いてるから。
303デフォルトの名無しさん (ブーイモ MM33-77RX)
2019/08/16(金) 19:30:21.63ID:O2kbbLouM304デフォルトの名無しさん (ワッチョイ 1342-NA/o)
2019/08/16(金) 21:32:15.51ID:HNLZHpWT0305デフォルトの名無しさん (ワッチョイ 2b2d-QMAU)
2019/08/16(金) 23:41:19.50ID:AADFbgN80 プログラム板住人は煽られるとすぐムキになるから、転載アフィブロガーの種まきに最適な場所になっちまってんだろう
306デフォルトの名無しさん (ワッチョイ 937d-g2bq)
2019/08/17(土) 00:34:58.82ID:1HSNgy8G0 Seleniumって便利だな
もっとユーザが増えてほしい
もっとユーザが増えてほしい
307デフォルトの名無しさん (ワッチョイ 0963-77RX)
2019/08/17(土) 02:16:51.47ID:EsYhqRXq0308251 (ワッチョイ 132c-BF++)
2019/08/17(土) 02:31:35.40ID:fYRni8gj0 Ruby on Rails では、作者のDHH が、2014年に「TDD(テスト駆動開発) is dead」と発言して、
ユニットテストから、Selenium を使った、E2E(end to end)テストへ移行した!
それで、Rails 6 では、
DHH のいるBasecamp 社から、GitHub へ移籍した、Eileen Uchitelle によって、
テストを複数CPU コアで、並列実行する機能が実装された!
ユニットテストから、Selenium を使った、E2E(end to end)テストへ移行した!
それで、Rails 6 では、
DHH のいるBasecamp 社から、GitHub へ移籍した、Eileen Uchitelle によって、
テストを複数CPU コアで、並列実行する機能が実装された!
309デフォルトの名無しさん (アウアウエー Sae3-oJYb)
2019/08/17(土) 10:48:29.26ID:uGEbzf6ra 気狂いしかいねーのかよ
310デフォルトの名無しさん (ワッチョイ b963-+d9c)
2019/08/17(土) 12:36:57.19ID:zUPT7dbd0 見てわかんねーのか
311デフォルトの名無しさん (ワッチョイ d1da-SHDy)
2019/08/17(土) 13:25:59.90ID:Mqg+a2XP0 暑さで脳味噌が溶けちまったんだろう
312デフォルトの名無しさん (ワッチョイ 7b3b-oOLq)
2019/08/17(土) 14:35:53.37ID:sCIOh4/p0 なんでRubyスレで言わねえんだ?
313デフォルトの名無しさん (ワッチョイ a922-x+FD)
2019/08/17(土) 15:08:20.60ID:BwzrwDPv0 >>303
なんでJavaのつもりで書く必要があったの?
なんでJavaのつもりで書く必要があったの?
314デフォルトの名無しさん (ワッチョイ 1342-NA/o)
2019/08/17(土) 15:55:56.68ID:qUgpJGd70 >>307
あんたの272の近辺にはJavaの話は全く出てきていないが、もしかするとRubyがJavaだと思った?
あんたの272の近辺にはJavaの話は全く出てきていないが、もしかするとRubyがJavaだと思った?
315デフォルトの名無しさん (ワッチョイ 3990-osyD)
2019/08/17(土) 19:21:30.41ID:lWdyvSQl0 エスパーすると、ASP.NETがあるがデスクトップアプリがメインだったC#よりまだJavaスレの方がまだselenium詳しそうなやつ多そうだから、せめてjavaスレ行けって事だろ。
ほんとこれぐらいもエスパーできなきゃアホやろ
ほんとこれぐらいもエスパーできなきゃアホやろ
316デフォルトの名無しさん (ワッチョイ 1342-NA/o)
2019/08/17(土) 21:04:14.52ID:qUgpJGd70 それなら「Rubyスレに行け」が流れ的に当然であるのに何故か「Java」
彼にとってサーバーサイドの言語は全部Java
ほぼ「ゲーム機を全部ファミコンと呼ぶおかん」状態と考えるのが妥当と思われる
彼にとってサーバーサイドの言語は全部Java
ほぼ「ゲーム機を全部ファミコンと呼ぶおかん」状態と考えるのが妥当と思われる
317デフォルトの名無しさん (スププ Sd33-x+FD)
2019/08/17(土) 22:31:29.74ID:2lsOlPOTd >>315
それはあまりにも苦しい擁護だな
それはあまりにも苦しい擁護だな
318デフォルトの名無しさん (ブーイモ MMcb-eIZT)
2019/08/17(土) 22:32:06.22ID:fWrg11mTM319デフォルトの名無しさん (ワッチョイ d968-2U8j)
2019/08/17(土) 22:34:51.12ID:8QP5rwWB0 KeyValuePair c=func1();
cをnull判定できないんですがどうしたらいいですか?
Myclass c=func2();
の場合、null判定できます。
クラスは出来て、KeyValuePairは出来ないのは何故ですか?
cをnull判定できないんですがどうしたらいいですか?
Myclass c=func2();
の場合、null判定できます。
クラスは出来て、KeyValuePairは出来ないのは何故ですか?
320デフォルトの名無しさん (アウアウウー Sa5d-h434)
2019/08/17(土) 22:35:45.47ID:1som7JJwa321デフォルトの名無しさん (ワッチョイ 1379-dCD9)
2019/08/17(土) 22:37:54.74ID:RvVfsurb0 KeyValuePairにnullなんて入らないからな
322デフォルトの名無しさん (ブーイモ MMcb-77RX)
2019/08/17(土) 23:10:53.90ID:u5xmISorM >>314
以後アスペはNG
以後アスペはNG
323デフォルトの名無しさん (ブーイモ MMcb-77RX)
2019/08/17(土) 23:12:11.34ID:u5xmISorM >>316
流石に頭が悪すぎるのでこれ以上会話するのは不可能
流石に頭が悪すぎるのでこれ以上会話するのは不可能
324デフォルトの名無しさん (ワッチョイ 8b7b-Xlup)
2019/08/17(土) 23:22:57.32ID:w7ZVAy9F0 >>319
func1をTryParseみたいにbool func1(out KeyValuePair c)にして値入れたくないときはfalseを返すようにしたら?
構造体にnullは入れられないし、どうせそのあとnullで分岐するでしょ
func1をTryParseみたいにbool func1(out KeyValuePair c)にして値入れたくないときはfalseを返すようにしたら?
構造体にnullは入れられないし、どうせそのあとnullで分岐するでしょ
325デフォルトの名無しさん (ブーイモ MMcb-77RX)
2019/08/17(土) 23:30:37.14ID:u5xmISorM >>316
先走った場違いな発言を認めたくなくて必死過ぎ、こーゆう使えない部下は直ぐに切るからこいつは低収入確定
先走った場違いな発言を認めたくなくて必死過ぎ、こーゆう使えない部下は直ぐに切るからこいつは低収入確定
326デフォルトの名無しさん (ワッチョイ a922-x+FD)
2019/08/17(土) 23:35:04.26ID:BwzrwDPv0327デフォルトの名無しさん (ブーイモ MMcb-Hs4x)
2019/08/17(土) 23:36:59.53ID:+vBKVSmmM >>325
無職のおっさんに言われてもなぁ
無職のおっさんに言われてもなぁ
328251 (ワッチョイ 132c-BF++)
2019/08/17(土) 23:47:28.51ID:fYRni8gj0 そりゃ、C#・Java は、静的言語で同じだから、
静的言語になれているなら、Selenium の話は、Java で聞くのがよい
動的言語なら、Ruby, Python で聞けばよい
Seleniumデザインパターン&ベストプラクティス、2015、オライリー
これは、Rubyでテストを書いた本
ウェブ系・HTML は基本、Ruby。
まあ、Java のSelenium の本も出てるけど
Java は、Spring Boot か?
動的言語のGroovy じゃないのか?
静的言語になれているなら、Selenium の話は、Java で聞くのがよい
動的言語なら、Ruby, Python で聞けばよい
Seleniumデザインパターン&ベストプラクティス、2015、オライリー
これは、Rubyでテストを書いた本
ウェブ系・HTML は基本、Ruby。
まあ、Java のSelenium の本も出てるけど
Java は、Spring Boot か?
動的言語のGroovy じゃないのか?
329デフォルトの名無しさん (ワッチョイ 0963-77RX)
2019/08/18(日) 01:25:10.35ID:KlRCzn4x0 javaの話が出てきても勘所がないから検討違いな粘着になるんだよな
Seleniumについて知識があれば文献的に充実してるのはjavaだろうに
Seleniumについて知識があれば文献的に充実してるのはjavaだろうに
330デフォルトの名無しさん (ワッチョイ b15f-mMpN)
2019/08/18(日) 03:58:12.87ID:9i6q0zGn0 c#からc#をインタプリタで実行できるライブラリってありますか?
331デフォルトの名無しさん (ワッチョイ b15f-qnpc)
2019/08/18(日) 06:08:49.00ID:t6n5brFa0332デフォルトの名無しさん (ワッチョイ b32d-bnMF)
2019/08/18(日) 13:41:29.71ID:+4zzAGlV0 WinForms で質問です。
標準の Form から継承した MyForm を abstract で作りました。
この MyForm は abstract なのでデザインで開けません。
(ここまでOK)
MyForm をもとに SubForm なるものを継承して作りました。
これには abstract は付けていないのですが、これもまたデザイナで開けません。
あまりに残念すぎる挙動だと思うのですが、これは仕様でしょうか。
標準の Form から継承した MyForm を abstract で作りました。
この MyForm は abstract なのでデザインで開けません。
(ここまでOK)
MyForm をもとに SubForm なるものを継承して作りました。
これには abstract は付けていないのですが、これもまたデザイナで開けません。
あまりに残念すぎる挙動だと思うのですが、これは仕様でしょうか。
333デフォルトの名無しさん (ワッチョイ 132c-gphu)
2019/08/18(日) 13:43:21.22ID:+3q0UZxZ0 Visual Studio .NET (2002) から続く仕様だよ
334デフォルトの名無しさん (ドコグロ MM63-h434)
2019/08/18(日) 13:45:24.63ID:jp7+H4+aM .NETではフォームの継承は推奨されていません
共通化したい場合はユーザーコントロールを使用してください
なお、WinFormsは既に開発が終了しており、今後改善される可能性はありません
共通化したい場合はユーザーコントロールを使用してください
なお、WinFormsは既に開発が終了しており、今後改善される可能性はありません
335デフォルトの名無しさん (ワッチョイ b32d-bnMF)
2019/08/18(日) 13:51:36.77ID:+4zzAGlV0 やっぱりですか。
デザイナが使えないと不便なので、MyForm 側にabstract 付けないで、virtual 定義しているのですが
継承先で「いじり必須」なものを忘れてしまうため、本当は abstract したいのですが・・
WinForms の開発が終わったって、世の中、VS で弄られてるソースの9割は WinForms だと思うんですけどねぇ
デザイナが使えないと不便なので、MyForm 側にabstract 付けないで、virtual 定義しているのですが
継承先で「いじり必須」なものを忘れてしまうため、本当は abstract したいのですが・・
WinForms の開発が終わったって、世の中、VS で弄られてるソースの9割は WinForms だと思うんですけどねぇ
336デフォルトの名無しさん (ワッチョイ 1379-dCD9)
2019/08/18(日) 13:57:02.56ID:ET6qk6jL0 うちは自社開発企業だがFormsはとっくの昔に淘汰された
Formsで作ってたアプリは全部WPFで作り直した
Formsで作ってたアプリは全部WPFで作り直した
337デフォルトの名無しさん (ワッチョイ 7b05-K1Ve)
2019/08/18(日) 14:04:52.38ID:APnDI8yA0 visualstudioを利用しているのですが最近デバッグ時にフォームアプリを動かすと
System.InvalidOperationException: '有効ではないスレッド間の操作: コントロールが作成されたスレッド以外のスレッドからコントロール 'hoge' がアクセスされました。'
の様なエラーが出て止まる様になりました
しかし出来たプログラムをふつうに動かす分には異常ありません
今まで作ってきた問題のなかったすべてのバージョンでこの様な現象が起こっています
これは何が原因でしょうか?
System.InvalidOperationException: '有効ではないスレッド間の操作: コントロールが作成されたスレッド以外のスレッドからコントロール 'hoge' がアクセスされました。'
の様なエラーが出て止まる様になりました
しかし出来たプログラムをふつうに動かす分には異常ありません
今まで作ってきた問題のなかったすべてのバージョンでこの様な現象が起こっています
これは何が原因でしょうか?
338デフォルトの名無しさん (アウアウウー Sa5d-woyF)
2019/08/18(日) 14:21:30.88ID:/RKifLkIa >>335
騙されたらあかんw
継承後のフォームもちゃんとデザイナで開けるし
コントロールを追加したりいろいろ出来るよw
フォームの継承なんて10年以上やってなかったが
今実際試して確認したから間違いない
騙されたらあかんw
継承後のフォームもちゃんとデザイナで開けるし
コントロールを追加したりいろいろ出来るよw
フォームの継承なんて10年以上やってなかったが
今実際試して確認したから間違いない
339デフォルトの名無しさん (ワッチョイ 1342-NA/o)
2019/08/18(日) 14:29:19.80ID:MLAzMixE0340デフォルトの名無しさん (ワッチョイ b32d-bnMF)
2019/08/18(日) 15:44:26.69ID:+4zzAGlV0341デフォルトの名無しさん (ワッチョイ b32d-bnMF)
2019/08/18(日) 15:45:05.69ID:+4zzAGlV0 継承元が abstract じゃない単純なファームの継承だったら、まったく問題ありません。
342デフォルトの名無しさん (スッップ Sd33-OTj7)
2019/08/18(日) 17:17:03.03ID:zvOpWkeBd >>334
終了なんかしてないよ
終了なんかしてないよ
343デフォルトの名無しさん (アウアウウー Sa5d-woyF)
2019/08/18(日) 17:55:07.39ID:/RKifLkIa >>340
なるほど。
abstractにこだわる必要が本当にあるのかなとも思うけど、
何ならコンストラクタをprotectedにすりゃ機能的にはほぼ同じだね。
(abstractメンバーはもちろん書けないけど)
これならそういう不具合は起こらないっぽい
なるほど。
abstractにこだわる必要が本当にあるのかなとも思うけど、
何ならコンストラクタをprotectedにすりゃ機能的にはほぼ同じだね。
(abstractメンバーはもちろん書けないけど)
これならそういう不具合は起こらないっぽい
344デフォルトの名無しさん (ワッチョイ d9da-QMAU)
2019/08/18(日) 18:33:20.50ID:5+yaTAKE0 蕎麦とラーメン間違えるとかもう簡単ケータイにしたほうがいいんじゃね。
たぶんVPNとか使わわんだろうし。
俺もIntelだからもう日産もゴーヤチャンプルーも同じ味付けで食える。
たぶんVPNとか使わわんだろうし。
俺もIntelだからもう日産もゴーヤチャンプルーも同じ味付けで食える。
345デフォルトの名無しさん (ワッチョイ d968-2U8j)
2019/08/18(日) 21:26:51.68ID:37ku1J740 Keyvaluepairの.Keyをnull判定したら
nullできました。
構造体だけどnull判定できましたが??
keyvalueopair本体はできないけど
KeyまたはValueはnull判定できました。
何故???まぁ良かったんですけど
nullできました。
構造体だけどnull判定できましたが??
keyvalueopair本体はできないけど
KeyまたはValueはnull判定できました。
何故???まぁ良かったんですけど
346デフォルトの名無しさん (ドコグロ MM63-h434)
2019/08/18(日) 21:29:43.77ID:jp7+H4+aM それはKeyプロパティが返した値をnull判定しているのであり、KeyValuePairが構造体であることは全く関係ない
直行する問題の分離ができない人はプログラミング向いてないよ
直行する問題の分離ができない人はプログラミング向いてないよ
347デフォルトの名無しさん (ワッチョイ a922-x+FD)
2019/08/18(日) 21:32:13.83ID:DxNAHPOT0 構造体はnullにできないからKeyValuePair?使えって言ってんのに
348デフォルトの名無しさん (ワッチョイ a922-x+FD)
2019/08/18(日) 21:33:54.95ID:DxNAHPOT0 言っとくけど「?」は文字化けじゃないぞw
349デフォルトの名無しさん (ワッチョイ d968-2U8j)
2019/08/18(日) 21:37:51.98ID:37ku1J740 >>346
ようはList<KeyValuePair<string,double>>
"レタス" 100
"キャベツ"120
"トマト" 120
こういうリストで、ピーマンって探すと
Keyがnullになってくれたので、良かったです。
KeyValuepairがnullじゃないのが不思議ですが
null判定できてよかった
ようはList<KeyValuePair<string,double>>
"レタス" 100
"キャベツ"120
"トマト" 120
こういうリストで、ピーマンって探すと
Keyがnullになってくれたので、良かったです。
KeyValuepairがnullじゃないのが不思議ですが
null判定できてよかった
350デフォルトの名無しさん (ワッチョイ a922-x+FD)
2019/08/18(日) 21:46:55.40ID:DxNAHPOT0 構造体はnullにできないと何度も言われてるのになんで不思議に思うんだろう
ピーマンを探すときのList.FirstOrDefault()の戻り値は
KeyValuePairをデフォルトコンストラクタで初期化したものだよ
ピーマンを探すときのList.FirstOrDefault()の戻り値は
KeyValuePairをデフォルトコンストラクタで初期化したものだよ
351デフォルトの名無しさん (ワッチョイ 8163-Lgl9)
2019/08/18(日) 21:48:35.09ID:FVnfIX0p0 >>349
keyvaluepairは構造体
構造体にはnullが存在しない
構造体にnullが存在しないことと構造体の中身がどうなっているか関係ないので、中身がクラスであるならnullにもなりうる
君がやったことは構造体ではなくその中身がnullかどうかのチェックしただけ
構造体とクラスの違いが理解できないなら今後も躓くのでkeyvaluepair含め他の構造体の使用も封印したほうがマシ
まぁintだって構造体だから全部避けるなんてことは無理だけど
keyvaluepairは構造体
構造体にはnullが存在しない
構造体にnullが存在しないことと構造体の中身がどうなっているか関係ないので、中身がクラスであるならnullにもなりうる
君がやったことは構造体ではなくその中身がnullかどうかのチェックしただけ
構造体とクラスの違いが理解できないなら今後も躓くのでkeyvaluepair含め他の構造体の使用も封印したほうがマシ
まぁintだって構造体だから全部避けるなんてことは無理だけど
352デフォルトの名無しさん (ワッチョイ b963-+d9c)
2019/08/18(日) 22:03:37.75ID:0nN/LwEb0 くどくて性格が悪そうな文章だ
353デフォルトの名無しさん (アウアウエー Sae3-Qfcm)
2019/08/18(日) 23:28:35.24ID:r1LRT6EBa listに入れるならdictionaryでいいんじゃないか…?とか話を一切聞いてなかったりとかkeyvalue君のレス見てるといらつくし
説明してあげる>>351は優しいだろ
説明してあげる>>351は優しいだろ
354デフォルトの名無しさん (ブーイモ MM9d-hG/2)
2019/08/19(月) 00:48:43.25ID:ODFt4ofXM >>349
null返ってきたのはkeyの型(string型)の初期値がnullだからなんでねか?
null返ってきたのはkeyの型(string型)の初期値がnullだからなんでねか?
355デフォルトの名無しさん (ワッチョイ 0963-77RX)
2019/08/19(月) 02:37:59.55ID:s7+bDgX20 >>327
きも
きも
356デフォルトの名無しさん (スフッ Sd33-oOLq)
2019/08/19(月) 07:49:38.46ID:2nNI8r3od357デフォルトの名無しさん (ドコグロ MM95-F6B6)
2019/08/19(月) 08:07:23.07ID:D7o3OMEzM ループ作ったやつ次第のような?
358デフォルトの名無しさん (ワッチョイ 7b05-K1Ve)
2019/08/19(月) 10:35:33.11ID:VzpEDBAc0 Form1以外のクラスでlistboxに入力したいのですが
他クラスで入力する方法って望ましくないのですか?
他に方法はあるのでしょうか?
他クラスで入力する方法って望ましくないのですか?
他に方法はあるのでしょうか?
359デフォルトの名無しさん (ワッチョイ 0bda-dCD9)
2019/08/19(月) 10:48:05.33ID:Le9xiHCt0 MVVMなら他クラスで用意するのが普通。
INotifyPropertyChangedとObservableCollectionでばっちりよ
INotifyPropertyChangedとObservableCollectionでばっちりよ
360デフォルトの名無しさん (ササクッテロ Sp85-qnpc)
2019/08/19(月) 10:55:08.87ID:QArCM+jpp >>356
松茸採りに行っても見つからなかったらバスケットは空で帰って来るしか無いだろ?
松茸採りに行っても見つからなかったらバスケットは空で帰って来るしか無いだろ?
361デフォルトの名無しさん (ササクッテロ Sp85-qnpc)
2019/08/19(月) 10:55:52.73ID:QArCM+jpp でもバスケットはあるから、バスケットの中の松茸の数がゼロになるんだよね?
362デフォルトの名無しさん (スフッ Sd33-oOLq)
2019/08/19(月) 11:52:38.83ID:2nNI8r3od バスケットが空なのと、バスケットにnullが入ってるのは違うんじゃねえかな?
参照型は瓶と水みたいな感じで、瓶だけ持って帰ってこれても、
値型みたいな、それ単体が実体のものは言うとおり松茸みたいなもんで、取りにいってなかったら何も持って帰って来れないと思うが。
無理矢理何か持たせるのがFirstOrDefaultで、坊主だった親父がとりあえず当たり障りのないものを魚屋で買って帰るようなもんでは?
FirstOrDefaultは無かったときにnullを返すためにあるんじゃないんだから。
ちゃんとチェックしてから取ったほうがいいと思うよ。
参照型は瓶と水みたいな感じで、瓶だけ持って帰ってこれても、
値型みたいな、それ単体が実体のものは言うとおり松茸みたいなもんで、取りにいってなかったら何も持って帰って来れないと思うが。
無理矢理何か持たせるのがFirstOrDefaultで、坊主だった親父がとりあえず当たり障りのないものを魚屋で買って帰るようなもんでは?
FirstOrDefaultは無かったときにnullを返すためにあるんじゃないんだから。
ちゃんとチェックしてから取ったほうがいいと思うよ。
363デフォルトの名無しさん (ブーイモ MM9d-hG/2)
2019/08/19(月) 12:00:12.26ID:ODFt4ofXM ちゃんとチェックしてからとるならFirst()でよくね?
364デフォルトの名無しさん (スププ Sd33-x+FD)
2019/08/19(月) 12:01:25.55ID:9Ob07fGvd どうでもいい自分なりの思想を長々と書く人だね
365デフォルトの名無しさん (ブーイモ MM4d-SHDy)
2019/08/19(月) 12:07:05.62ID:ZYeDXrpNM ILで説明してくれ
366デフォルトの名無しさん (ワッチョイ 7b05-K1Ve)
2019/08/19(月) 13:23:05.09ID:VzpEDBAc0 >>358なんですが誰かお願いします
別クラスでテキストボックスとかいじるのって普通のやり方ではないんでしょうか?
別クラスでテキストボックスとかいじるのって普通のやり方ではないんでしょうか?
367デフォルトの名無しさん (ワッチョイ f12c-RZ8Y)
2019/08/19(月) 13:27:26.75ID:ERfcd1se0 >>359が返してくれてるだろ
368デフォルトの名無しさん (ワッチョイ 2b7c-gphu)
2019/08/19(月) 13:34:49.71ID:eHF4rC4A0 別クラスでいじるって、
class Hoge {
public void SetText(TextBox textBox, string text) { textBox.Text = text; }
}
みたいな?
コントロールを外部に渡すというのはまあ一般的ではないな
class Hoge {
public void SetText(TextBox textBox, string text) { textBox.Text = text; }
}
みたいな?
コントロールを外部に渡すというのはまあ一般的ではないな
369デフォルトの名無しさん (ワッチョイ 7b05-K1Ve)
2019/08/19(月) 13:36:41.01ID:VzpEDBAc0 >>359
返してくださったのはありがたいんですが
その3つの単語全て知らなくて、ググってみても高度すぎてわかりません
コンソールアプリケーションをフォームアプリケーションに移植しようとしているのですが
Console.Write()で出力していたものをlistBoxやtextBoxに出力したいのですが出来なくて困っております
どうかアドバイスお願いします
返してくださったのはありがたいんですが
その3つの単語全て知らなくて、ググってみても高度すぎてわかりません
コンソールアプリケーションをフォームアプリケーションに移植しようとしているのですが
Console.Write()で出力していたものをlistBoxやtextBoxに出力したいのですが出来なくて困っております
どうかアドバイスお願いします
370デフォルトの名無しさん (スププ Sd33-x+FD)
2019/08/19(月) 13:44:13.47ID:9Ob07fGvd 外部でstringの配列なりListなり作った上でそれを
ListBox.DataSourceプロパティにセットすればいいんじゃないの
ListBox.DataSourceプロパティにセットすればいいんじゃないの
371デフォルトの名無しさん (アウアウウー Sa5d-woyF)
2019/08/19(月) 13:56:34.58ID:eDOlyF+5a >>369
■ 選択肢1
FormにAddToLogみたいなメソッドを作ってConsole.WriteLineを
LogForm.AddToLog
■ 選択肢2
Console.WriteLineを、記録する文字列を通知するイベントに置き換える。
Formはそのイベントを拾ってListBoxに表示
後者を推奨
基本的にUIの参照を握らせるのは悪い手
■ 選択肢1
FormにAddToLogみたいなメソッドを作ってConsole.WriteLineを
LogForm.AddToLog
■ 選択肢2
Console.WriteLineを、記録する文字列を通知するイベントに置き換える。
Formはそのイベントを拾ってListBoxに表示
後者を推奨
基本的にUIの参照を握らせるのは悪い手
372デフォルトの名無しさん (ワッチョイ 7b05-K1Ve)
2019/08/19(月) 14:04:49.07ID:VzpEDBAc0 移植したいコンソールアプリ
class Program
{
static void Main(string[] args)
{
var op = new Output();
op.MainProcess(400);
Console.Read();
}
}
public class Output
{
public override int MainProcess(int count)
{
for (int col = 0; col < count; col++)
Console.Write(col);
}
}
class Program
{
static void Main(string[] args)
{
var op = new Output();
op.MainProcess(400);
Console.Read();
}
}
public class Output
{
public override int MainProcess(int count)
{
for (int col = 0; col < count; col++)
Console.Write(col);
}
}
373デフォルトの名無しさん (ワッチョイ 7b05-K1Ve)
2019/08/19(月) 14:06:13.39ID:VzpEDBAc0 作ってみたフォームアプリ
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
var op = new Output();
op.MainProcess(400);
}
}
public class Output
{
public override int MainProcess(int count)
{
for (int col = 0; col < count; col++)
listBox1.Items.Add(col);//←ここが動かない
}
}
こんな感じです
>>371
ありがとうございます。さっそく試してみます
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
var op = new Output();
op.MainProcess(400);
}
}
public class Output
{
public override int MainProcess(int count)
{
for (int col = 0; col < count; col++)
listBox1.Items.Add(col);//←ここが動かない
}
}
こんな感じです
>>371
ありがとうございます。さっそく試してみます
374デフォルトの名無しさん (ワッチョイ f12c-RZ8Y)
2019/08/19(月) 15:32:03.08ID:ERfcd1se0 なんでいきなりバックグラウンドワーカーが出てきてるか知らんけど、ドゥーワークは別スレッドで実行する内容を記載するところで、UIスレッドにアクセスしたらダメ→コントロールを触ったらダメ
リストボックスにアクセスしたかったらリポートプログレスもしくはコンプリートでUIスレッドにマーシャリングしてから
リストボックスにアクセスしたかったらリポートプログレスもしくはコンプリートでUIスレッドにマーシャリングしてから
375デフォルトの名無しさん (ワッチョイ 7b05-K1Ve)
2019/08/19(月) 16:32:24.93ID:VzpEDBAc0 簡略化して書いていますが凄い長い計算なので計算中でもプログラムが反応する様にbackgroundWorkerにしています
backgroundWorkerかでなくとも、他クラスからフォームをいじるということが出来なくて困っています
backgroundWorkerかでなくとも、他クラスからフォームをいじるということが出来なくて困っています
376デフォルトの名無しさん (スフッ Sd33-oOLq)
2019/08/19(月) 17:09:34.09ID:2nNI8r3od 普通にinvokeしなよ。
377デフォルトの名無しさん (ワッチョイ 8b7b-Xlup)
2019/08/19(月) 17:49:40.07ID:VD+/iXFd0 >>375
1.他のフォームからコントロールを操作する
https://dobon.net/vb/dotnet/form/accessanotherformdata.html
2.BackgroundWorkerからコントロール(UIスレッド)を沿操作する
https://dobon.net/vb/dotnet/programing/progressdialogbw.html またはInvoke
今の段階では1+2をやりたいんだよね
設計的なものに口だすのは良くないけど参考までに
>凄い長い計算なので計算中でもプログラムが反応する様に
ListBoxの一つのアイテムごとに時間がかかるのならMainProcessでループで一気にAddせずに
BackgroundWorkerの中で「計算実行→ReportProgressで別フォームListBoxにAdd」をループさせてもいいんじゃないの
1.他のフォームからコントロールを操作する
https://dobon.net/vb/dotnet/form/accessanotherformdata.html
2.BackgroundWorkerからコントロール(UIスレッド)を沿操作する
https://dobon.net/vb/dotnet/programing/progressdialogbw.html またはInvoke
今の段階では1+2をやりたいんだよね
設計的なものに口だすのは良くないけど参考までに
>凄い長い計算なので計算中でもプログラムが反応する様に
ListBoxの一つのアイテムごとに時間がかかるのならMainProcessでループで一気にAddせずに
BackgroundWorkerの中で「計算実行→ReportProgressで別フォームListBoxにAdd」をループさせてもいいんじゃないの
378デフォルトの名無しさん (ドコグロ MM63-F6B6)
2019/08/19(月) 17:55:50.15ID:V7QYb24CM379デフォルトの名無しさん (ドコグロ MM63-F6B6)
2019/08/19(月) 18:04:30.50ID:V7QYb24CM 関係なかった
自分が昔出なかったのは
AppendTextしてなかったからだったw
すまんかった
自分が昔出なかったのは
AppendTextしてなかったからだったw
すまんかった
380デフォルトの名無しさん (ワッチョイ 7b05-K1Ve)
2019/08/19(月) 20:31:39.57ID:VzpEDBAc0 Invoke調べてみました。いけそうな気がしますが書き方が難しいです
上記のコードの場合どのように記述すれば良いのでしょうか?
上記のコードの場合どのように記述すれば良いのでしょうか?
381デフォルトの名無しさん (ササクッテロ Sp85-7mqZ)
2019/08/19(月) 20:43:11.70ID:y72D5AUNp382デフォルトの名無しさん (アウアウカー Sa15-cJb6)
2019/08/19(月) 20:46:44.95ID:cJsYlnhia パッと見で適当だけど、formにコントロールの変更記述して、コールバック登録してtaskはしらせればいいの違うのか?invokeは当然
383デフォルトの名無しさん (ワッチョイ 597b-xIzb)
2019/08/19(月) 21:00:04.04ID:Vps+pUHe0 >>380
delegate用のメソッド作ってdelegateにセットしてinvoke
https://www.atmarkit.co.jp/ait/articles/0506/17/news111.html
delegate用のメソッド作ってdelegateにセットしてinvoke
https://www.atmarkit.co.jp/ait/articles/0506/17/news111.html
384デフォルトの名無しさん (ワッチョイ d968-2U8j)
2019/08/19(月) 22:54:50.46ID:aQCsW5pK0 doubleって整数のほうに偏りがあったら
小数部分は短い精度になるんですが、これ何とかなりませんか?
doubleは精度高いから小数点第5位とか精度余裕だろwwwwwwwwwww
989〜〜〜132.1235212596 算出結果
989〜〜〜132.1235312314 正解
え???????????
ちょwwwwww
助けてください
小数部分は短い精度になるんですが、これ何とかなりませんか?
doubleは精度高いから小数点第5位とか精度余裕だろwwwwwwwwwww
989〜〜〜132.1235212596 算出結果
989〜〜〜132.1235312314 正解
え???????????
ちょwwwwww
助けてください
385デフォルトの名無しさん (アウアウウー Sa5d-woyF)
2019/08/19(月) 23:06:59.10ID:eDOlyF+5a >>384
何を言ってるか人に分かるように書かないと誰も答えようがないよw
一般論として、演算誤差を累積させずに
演算可能かどうかはどういう演算をしてるかによるので、
具体的な処理が分からないと何とも言えん
何を言ってるか人に分かるように書かないと誰も答えようがないよw
一般論として、演算誤差を累積させずに
演算可能かどうかはどういう演算をしてるかによるので、
具体的な処理が分からないと何とも言えん
386デフォルトの名無しさん (スププ Sd33-x+FD)
2019/08/19(月) 23:27:14.16ID:9Ob07fGvd decimal型使えば
387デフォルトの名無しさん (ワッチョイ 8163-Lgl9)
2019/08/19(月) 23:36:21.05ID:0KlGy2IO0388デフォルトの名無しさん (ワッチョイ 1361-F6B6)
2019/08/19(月) 23:57:36.54ID:0eZQgVij0 分数型クラスを自分で作ってとっとけ
389デフォルトの名無しさん (ワッチョイ 937d-g2bq)
2019/08/19(月) 23:59:07.58ID:HKOIeNMl0 Seleniumを極めよう
390デフォルトの名無しさん (スププ Sd33-/7bP)
2019/08/20(火) 00:07:25.79ID:VMXKYR4od Form1, Form2, CounterForm があります。
CounterForm にカウントを表示して、0 になったら、Form1 か Form2 のメソッドを実行するにはどうしたら良いでしょうか?
やりたいこと
5. 4. 3. 2. 1. 0 と表示 → form1.DoSomething();
CounterForm と Form1 の部分はできているのですが、
複数class間で通知する方法がよくわかりません。
CounterForm にカウントを表示して、0 になったら、Form1 か Form2 のメソッドを実行するにはどうしたら良いでしょうか?
やりたいこと
5. 4. 3. 2. 1. 0 と表示 → form1.DoSomething();
CounterForm と Form1 の部分はできているのですが、
複数class間で通知する方法がよくわかりません。
391デフォルトの名無しさん (ワッチョイ 0bda-dCD9)
2019/08/20(火) 00:22:58.41ID:sL7gwS880 >>390
var f1 = new Form1();
var f2 = new From2();
foreach(var i in Enumerable.Range(0, 5).Reverse())
{
await Task.Delay(1*1000);
if(0 == i)
f1.DoDomething();
// f2?
}
Form1とForm2のメソッド呼び分け条件を提示して。
あと
>複数class間で通知する方法がよくわかりません。
の意味が分からないんでもう少し詳しく
var f1 = new Form1();
var f2 = new From2();
foreach(var i in Enumerable.Range(0, 5).Reverse())
{
await Task.Delay(1*1000);
if(0 == i)
f1.DoDomething();
// f2?
}
Form1とForm2のメソッド呼び分け条件を提示して。
あと
>複数class間で通知する方法がよくわかりません。
の意味が分からないんでもう少し詳しく
392デフォルトの名無しさん (ワッチョイ 13ad-gVUp)
2019/08/20(火) 01:06:30.58ID:yjnOK/Bv0 「通知」…もし表示済みのフォームをあとからいじりたい場合、
public static class static1 {
public static form1 form1; //スタティッククラスのフィールドを用意して、
-------------------------------------
public partial class form1 : Form {
public form1() {
static1.form1 = this; //各自のインスタンスを各自のコンストラクタで設定しておく
-------------------------------------
public partial class CounterForm : Form {
public void hoge() {
try {
Exception er = null;
this.Invoke( (MethodInvoker)delegate { //デリゲートせずに外からフォームをいじるとエラーになることがある
try {
static1.form1.DoSomething(); //スタティッククラスのフィールドを経由すると表示済のものがいじれる
} catch( Exception e ) { er = e; } //ちなみにデリゲート内のエラーは外側でキャッチできないので、
} );
if( er != null ) { throw er; } //変数を経由して外側でスローする
public static class static1 {
public static form1 form1; //スタティッククラスのフィールドを用意して、
-------------------------------------
public partial class form1 : Form {
public form1() {
static1.form1 = this; //各自のインスタンスを各自のコンストラクタで設定しておく
-------------------------------------
public partial class CounterForm : Form {
public void hoge() {
try {
Exception er = null;
this.Invoke( (MethodInvoker)delegate { //デリゲートせずに外からフォームをいじるとエラーになることがある
try {
static1.form1.DoSomething(); //スタティッククラスのフィールドを経由すると表示済のものがいじれる
} catch( Exception e ) { er = e; } //ちなみにデリゲート内のエラーは外側でキャッチできないので、
} );
if( er != null ) { throw er; } //変数を経由して外側でスローする
393デフォルトの名無しさん (アウアウウー Sa5d-woyF)
2019/08/20(火) 01:15:05.72ID:zheL5RcIa >>390
Formだろうが何だろうが、操作したい側が操作対象の参照を握れば良いだけだけど、
親子関係が成立しているとか特殊な前提がなければ、Formが別のFormの参照を
握るのはあんまり良くない。
原則論を言えばそもそもFormにUIと無関係の処理を書く時点で間違っている。
Formだろうが何だろうが、操作したい側が操作対象の参照を握れば良いだけだけど、
親子関係が成立しているとか特殊な前提がなければ、Formが別のFormの参照を
握るのはあんまり良くない。
原則論を言えばそもそもFormにUIと無関係の処理を書く時点で間違っている。
394デフォルトの名無しさん (ワッチョイ 13ad-gVUp)
2019/08/20(火) 07:52:56.91ID:yjnOK/Bv0 UIと関係あるからフォームなんだろうけど…
非同期処理中にポップアップが出て、その間もメインは触れるが、終わるとメインが変更される
なんてことはよくある
書式設定的なのも別フォームから別フォームをいじるわけだし
前のいじり方を残すために、閉じても隠すだけで、同じインスタンスを再表示したい場合とか
非同期処理中にポップアップが出て、その間もメインは触れるが、終わるとメインが変更される
なんてことはよくある
書式設定的なのも別フォームから別フォームをいじるわけだし
前のいじり方を残すために、閉じても隠すだけで、同じインスタンスを再表示したい場合とか
395デフォルトの名無しさん (オイコラミネオ MM55-/tGK)
2019/08/20(火) 09:26:58.30ID:+NAZ1HN+M フォームと無関係な〜って書いてあるぞ
そんなことより全角半角がきもい
そんなことより全角半角がきもい
396デフォルトの名無しさん (ワッチョイ b32d-bnMF)
2019/08/20(火) 12:03:48.15ID:NghMzgaN0 対象のフレームワーク:Framework 4.0 でコンパイルした自作 DLL があります。
この DLL を 対象のフレームワーク:Framework 4.8 なプロジェクトから参照して使用したとき、
DLL の中はどっちで動くのでしょうか?
たとえば自作DLL内で、DataGridView から継承した DataGridViewEx を作ってあったとして
これを 4.8 なプロジェクトで利用したとき、DataGridViewEx 内で
4.0 の DataGridView が使われるのか、4.8 の DataGridView が使われるのか、って意味です。
この DLL を 対象のフレームワーク:Framework 4.8 なプロジェクトから参照して使用したとき、
DLL の中はどっちで動くのでしょうか?
たとえば自作DLL内で、DataGridView から継承した DataGridViewEx を作ってあったとして
これを 4.8 なプロジェクトで利用したとき、DataGridViewEx 内で
4.0 の DataGridView が使われるのか、4.8 の DataGridView が使われるのか、って意味です。
397デフォルトの名無しさん (スププ Sd33-RZ8Y)
2019/08/20(火) 12:10:21.33ID:mC8iPjWhd 自作DLL内でDataGridViewの参照を特定バージョンにしておけば4.0になるしそうじゃなければ4.8
398デフォルトの名無しさん (ワッチョイ b32d-bnMF)
2019/08/20(火) 12:17:12.47ID:NghMzgaN0 自作DLL 側の System.Windows.Forms を見たら
特定バージョン:false
になっていたので、呼ばれる側のバージョンの System.Windows.Forms.dll が使われるってことですね。
Framework 4.8 用に新たに作らないといけないかと思ったのですが、その心配ないみたいで安心しました。
特定バージョン:false
になっていたので、呼ばれる側のバージョンの System.Windows.Forms.dll が使われるってことですね。
Framework 4.8 用に新たに作らないといけないかと思ったのですが、その心配ないみたいで安心しました。
399デフォルトの名無しさん (ワッチョイ 31ad-gVUp)
2019/08/21(水) 00:27:12.96ID:7whQ/iRu0 あ、間違えた
× this.Invoke( (MethodInvoker)delegate {
〇 static1.form1.Invoke( (MethodInvoker)delegate {
(thisは自フォーム内のマルチスレッド部分のソースだった)
カウントダウンにマルチスレッドが必要とは限らんが
むしろモーダルだったり
でも「オブジェクトがあれば必ず「通知」できる」という方法は確立しといた方が、オブジェクト指向っぽい
クラスオブジェクト指向の前にメッセージオブジェクト指向があったので(Win32API)
メッセージ、つまり「通知」
× this.Invoke( (MethodInvoker)delegate {
〇 static1.form1.Invoke( (MethodInvoker)delegate {
(thisは自フォーム内のマルチスレッド部分のソースだった)
カウントダウンにマルチスレッドが必要とは限らんが
むしろモーダルだったり
でも「オブジェクトがあれば必ず「通知」できる」という方法は確立しといた方が、オブジェクト指向っぽい
クラスオブジェクト指向の前にメッセージオブジェクト指向があったので(Win32API)
メッセージ、つまり「通知」
400デフォルトの名無しさん (スププ Sd33-/7bP)
2019/08/21(水) 00:57:19.98ID:CGK7jfA0d >>392
解答どうもありがとうございます。
event かデリゲートで解決できそうです。
// Form1
private void CountDownBtn_Click(object sender, EventArgs e) {
var countdownForm = new MYCountDownForm();
// 4 3 2 1 0と表示してから、下に行きたいが、
// これだとカウント 0 を待たずにすぐ下に行く。
countdownForm.Show();
// このクラスのいろいろな処理
}
解答どうもありがとうございます。
event かデリゲートで解決できそうです。
// Form1
private void CountDownBtn_Click(object sender, EventArgs e) {
var countdownForm = new MYCountDownForm();
// 4 3 2 1 0と表示してから、下に行きたいが、
// これだとカウント 0 を待たずにすぐ下に行く。
countdownForm.Show();
// このクラスのいろいろな処理
}
401デフォルトの名無しさん (ワッチョイ 31ad-gVUp)
2019/08/21(水) 01:36:11.80ID:7whQ/iRu0402デフォルトの名無しさん (ワッチョイ bd63-5mn8)
2019/08/22(木) 16:28:36.46ID:tih7LC2d0 APIが公開されていなくてもスクレイピングして非公開websoketに接続したいのですが、
解析からトークンなど必要なheader情報取得すればできるものですか?
解析からトークンなど必要なheader情報取得すればできるものですか?
403デフォルトの名無しさん (ワッチョイ da47-9WLl)
2019/08/22(木) 16:50:43.33ID:xQsiKIbM0 出来るけど利用規約読め
API経由だとセーフで
API経由しないと逮捕とか書いてあるから
API経由だとセーフで
API経由しないと逮捕とか書いてあるから
404デフォルトの名無しさん (ワッチョイ 7aad-HwVO)
2019/08/22(木) 16:57:22.84ID:erkZnaOI0405デフォルトの名無しさん (アウアウクー MMc5-CbcL)
2019/08/22(木) 17:10:49.32ID:NpAwFZ6qM >>404
条文ぐらい示してやれよ
条文ぐらい示してやれよ
406デフォルトの名無しさん (ワッチョイ 2161-T8rO)
2019/08/22(木) 17:59:59.30ID:90PkXrDL0 色んなところで迷惑なヤローだな
407デフォルトの名無しさん (ワッチョイ d563-43Wh)
2019/08/22(木) 21:54:01.43ID:rNXeNA230408デフォルトの名無しさん (ワッチョイ 912c-cx4e)
2019/08/22(木) 22:05:00.16ID:yaxmcT7W0 この質問結構前からいたるところで見る気がするんだけどただのマルチ?
409デフォルトの名無しさん (スププ Sd9a-kbW9)
2019/08/22(木) 23:55:52.03ID:W1llczT4d >>400 >>401
とりあえず自力でできたのでソース抜粋 1
// Form1 呼び出し側
private void CountDownBtn_Click(object sender, EventArgs e){
var countDownForm = new MYCountDownForm(7);
countDownForm.ZeroReached += OnCounterZeroCallBack;
countDownForm.Show();
}
// コールバック
private void OnCounterZeroCallBack(Object sender, DestReachedEventArgs e){
// UI 更新
}
とりあえず自力でできたのでソース抜粋 1
// Form1 呼び出し側
private void CountDownBtn_Click(object sender, EventArgs e){
var countDownForm = new MYCountDownForm(7);
countDownForm.ZeroReached += OnCounterZeroCallBack;
countDownForm.Show();
}
// コールバック
private void OnCounterZeroCallBack(Object sender, DestReachedEventArgs e){
// UI 更新
}
410デフォルトの名無しさん (スププ Sd9a-kbW9)
2019/08/23(金) 00:00:27.51ID:RwBPjFxxd ソース抜粋 2 // MYCountDownForm
private System.Windows.Forms.Timer countDownTimer;
public int timeLeft;
public delegate void ZeroReachedEventHandler(Object sender, ZeroReachedEventArgs e);
public event ZeroReachedEventHandler ZeroReached;
void Timer_Tick(object sender, EventArgs e){
if (timeLeft >= 1){
timeLabel.Text = this.timeLeft.ToString();
timeLeft--;
}
else if (this.timeLeft <= 0){
timeLabel.Text = this.timeLeft.ToString();
var args = new ZeroReachedEventArgs();
args.TimeReached = DateTime.Now;
OnDestReached(args);
this.Close();
}
} // END Timer_Tick
protected virtual void OnZeroReached(ZeroReachedEventArgs e){
var handler = ZeroReached;
if (handler != null){ handler(this, e); }
}
}
public class ZeroReachedEventArgs : EventArgs {
// コンストラクタないけどいいの?
public DateTime TimeReached { get; set; }
}
private System.Windows.Forms.Timer countDownTimer;
public int timeLeft;
public delegate void ZeroReachedEventHandler(Object sender, ZeroReachedEventArgs e);
public event ZeroReachedEventHandler ZeroReached;
void Timer_Tick(object sender, EventArgs e){
if (timeLeft >= 1){
timeLabel.Text = this.timeLeft.ToString();
timeLeft--;
}
else if (this.timeLeft <= 0){
timeLabel.Text = this.timeLeft.ToString();
var args = new ZeroReachedEventArgs();
args.TimeReached = DateTime.Now;
OnDestReached(args);
this.Close();
}
} // END Timer_Tick
protected virtual void OnZeroReached(ZeroReachedEventArgs e){
var handler = ZeroReached;
if (handler != null){ handler(this, e); }
}
}
public class ZeroReachedEventArgs : EventArgs {
// コンストラクタないけどいいの?
public DateTime TimeReached { get; set; }
}
411デフォルトの名無しさん (ワッチョイ 6568-CMhc)
2019/08/24(土) 00:16:35.07ID:EZ15JXYo0 アホな質問ばっかですいません
光速の計算をしたいんですが、doubleでは無理ですか?
decimalは使いません
お願いします。小数点以下が信用できません。
光速の計算をしたいんですが、doubleでは無理ですか?
decimalは使いません
お願いします。小数点以下が信用できません。
412デフォルトの名無しさん (ワッチョイ da52-6dAq)
2019/08/24(土) 00:22:03.18ID:ka7Yl/470 >>411
お前さんが使おうとしている計算方法や欲しい精度とか示さんと答えられんだろうよ
お前さんが使おうとしている計算方法や欲しい精度とか示さんと答えられんだろうよ
413デフォルトの名無しさん (ワッチョイ bda3-CbcL)
2019/08/24(土) 01:21:02.23ID:g8XGZa5Z0414デフォルトの名無しさん (ワッチョイ 4501-AdB2)
2019/08/24(土) 08:41:25.65ID:VP6gB9DD0 質問いいですか、クラスの処理の途中経過をTextboxのコントロールに送りたいのです
public partial class Form1 : Form
{
Class1 class1 = new Class1();
}
class Class1
{
public Class1()
{
Form1.Textbox1.AppendText("Class1を実行しています");
}
}
このようにしてもForm1のインスタンスがないから実行できません
みなさんはクラスのログなどをテキストボックスに送るとき、どう書かれてますか?
public partial class Form1 : Form
{
Class1 class1 = new Class1();
}
class Class1
{
public Class1()
{
Form1.Textbox1.AppendText("Class1を実行しています");
}
}
このようにしてもForm1のインスタンスがないから実行できません
みなさんはクラスのログなどをテキストボックスに送るとき、どう書かれてますか?
415デフォルトの名無しさん (ワッチョイ d67b-F52R)
2019/08/24(土) 09:03:40.17ID:BNVmeU2m0 >>414
public partial class Form1 : Form
{
public TextBox Textbox1;
Class1 class1 = new Class1(this);
}
class Class1
{
public Class1(Form1 fm)
{
fm.Textbox1.AppendText("Class1を実行しています");
}
}
またはFom1のなかに
public void appenttext(string st)
{
Textbox1.AppendText(st);
}
としてClass1から呼び出す
public partial class Form1 : Form
{
public TextBox Textbox1;
Class1 class1 = new Class1(this);
}
class Class1
{
public Class1(Form1 fm)
{
fm.Textbox1.AppendText("Class1を実行しています");
}
}
またはFom1のなかに
public void appenttext(string st)
{
Textbox1.AppendText(st);
}
としてClass1から呼び出す
416デフォルトの名無しさん (ワッチョイ 4501-AdB2)
2019/08/24(土) 15:23:44.45ID:VP6gB9DD0417デフォルトの名無しさん (ササクッテロ Sp05-LzRA)
2019/08/24(土) 15:40:00.64ID:glPHIee0p コントロールは何かを操作する為の機能なんだから、
普通はその操作する何かを直接操作するだろ?
普通はその操作する何かを直接操作するだろ?
418デフォルトの名無しさん (ワッチョイ d67b-F52R)
2019/08/24(土) 15:45:48.43ID:BNVmeU2m0 >>416
インスタンスをどう指定していいかわからないんじゃなかったのか
親子関係にあるウィンドウでの操作はいろんなアプリで普通にあるし
C#だけにしても「C# 別のフォームのコントロール」でググればやっているところはいっぱい出てくる
インスタンスをどう指定していいかわからないんじゃなかったのか
親子関係にあるウィンドウでの操作はいろんなアプリで普通にあるし
C#だけにしても「C# 別のフォームのコントロール」でググればやっているところはいっぱい出てくる
419デフォルトの名無しさん (アウアウウー Sa09-Aknt)
2019/08/24(土) 15:56:01.09ID:dsz+mirUa >>416
非推奨というか、普通はやりたいと思わないね。
何かの参照を握るってことはそれに依存してしまうってことだから。
Class1は本来はForm1の参照を持つ設計にしたことで、
事実上そのプログラム専用の他で流用できないコードになってる
他で使う予定ないからそれで問題ないと思うかもしれないが(以下略
非推奨というか、普通はやりたいと思わないね。
何かの参照を握るってことはそれに依存してしまうってことだから。
Class1は本来はForm1の参照を持つ設計にしたことで、
事実上そのプログラム専用の他で流用できないコードになってる
他で使う予定ないからそれで問題ないと思うかもしれないが(以下略
420デフォルトの名無しさん (ワッチョイ 4501-AdB2)
2019/08/24(土) 19:37:50.96ID:VP6gB9DD0421デフォルトの名無しさん (ワッチョイ 7a79-BXNL)
2019/08/24(土) 21:52:23.83ID:PMKXSgkW0 処理側に出力するだけの意味しかないデリゲートでも渡してやれば?
受け側はコントロールを操作とか意識しなくて済むけど
public partial class Form1 : Form {
:
Class1 class1 = new Class1((string s) => { this,Textbox1.AppendText(s); })
;
}
class Class1 {
delegate void output_delegate(string s);
output_delegate output = (string s) => { Console.WriteLine(s); }; //デフォルト出力先はコンソール
:
Class1(output_delegate _output) {
output = _output;
}
:
}
受け側はコントロールを操作とか意識しなくて済むけど
public partial class Form1 : Form {
:
Class1 class1 = new Class1((string s) => { this,Textbox1.AppendText(s); })
;
}
class Class1 {
delegate void output_delegate(string s);
output_delegate output = (string s) => { Console.WriteLine(s); }; //デフォルト出力先はコンソール
:
Class1(output_delegate _output) {
output = _output;
}
:
}
422デフォルトの名無しさん (ワッチョイ 2142-gQHD)
2019/08/24(土) 22:59:49.50ID:sQirZTQZ0 よく答えられるな
なにをしようとしてるのかすらわからんわ
なにをしようとしてるのかすらわからんわ
423デフォルトの名無しさん (ワッチョイ 4501-AdB2)
2019/08/24(土) 23:07:54.21ID:VP6gB9DD0424デフォルトの名無しさん (アウアウウー Sa09-QSEA)
2019/08/24(土) 23:11:33.91ID:XZUr8QhOa refやout, in引数のないdelegateなら
自分で定義せずにSystem.ActionやSystem.Funcを使う手もあるよ
自分で定義せずにSystem.ActionやSystem.Funcを使う手もあるよ
425デフォルトの名無しさん (アウアウウー Sa09-Aknt)
2019/08/24(土) 23:15:15.44ID:dsz+mirUa426デフォルトの名無しさん (ワッチョイ 0d22-Kr2K)
2019/08/24(土) 23:54:17.30ID:GocaxRhS0 >>422
さすがにそれはお前がアホやで
さすがにそれはお前がアホやで
427デフォルトの名無しさん (ワッチョイ 7a79-P0k6)
2019/08/24(土) 23:56:09.98ID:4OMYNXZ10 使う手もあるというか余程じゃなければActionかFuncでは
428デフォルトの名無しさん (ワッチョイ 0d22-Kr2K)
2019/08/25(日) 00:04:50.89ID:dkxX1jtZ0 俺もActionを推す
429デフォルトの名無しさん (ワッチョイ 912c-cx4e)
2019/08/25(日) 00:26:08.77ID:DAHO6xPV0 MethodInvoker(´・ω・`)ボクも忘れないでね
430デフォルトの名無しさん (ブーイモ MMf1-2l6c)
2019/08/25(日) 06:55:23.52ID:Jlb1UCj1M >>414
こういうのってbindingでどうにかするものじゃないの?
こういうのってbindingでどうにかするものじゃないの?
431デフォルトの名無しさん (ワッチョイ cdb0-lNpu)
2019/08/25(日) 07:21:22.29ID:UfI3Un4o0 可変長の戻り値って実現できませんか?もしくは可変長のタプル
これを
public void hoge<T>(List<T> list, Func<T, string[]> selector) { ... }
hoge(list, listItem => new string[2] { listItem.A, listItem.B });
hoge(list, listItem => new string[3] { listItem.A, listItem.B, listItem.C });
↓
public void hoge<T>(List<T> list, Func<T, params string[]> selector) { ... }
hoge(list, listItem => (listItem.A, listItem.B));
hoge(list, listItem => (listItem.A, listItem.B, listItem.C));
こんな風に書けたらいいのにって感じです
これを
public void hoge<T>(List<T> list, Func<T, string[]> selector) { ... }
hoge(list, listItem => new string[2] { listItem.A, listItem.B });
hoge(list, listItem => new string[3] { listItem.A, listItem.B, listItem.C });
↓
public void hoge<T>(List<T> list, Func<T, params string[]> selector) { ... }
hoge(list, listItem => (listItem.A, listItem.B));
hoge(list, listItem => (listItem.A, listItem.B, listItem.C));
こんな風に書けたらいいのにって感じです
432デフォルトの名無しさん (ワッチョイ 4501-AdB2)
2019/08/25(日) 09:33:25.01ID:NieUwdLz0433デフォルトの名無しさん (アウアウウー Sa09-Aknt)
2019/08/25(日) 13:39:47.35ID:aNsJH+ura >>431
何言ってるのか理解するのに5分かかったw
ラムダ式の右辺(?)の評価方法をジェネリックの型パラメータを確定する場面で指定するとか
普通に無理筋でしょう
hoge(list, listItem => new[] { listItem.A, listItem.B });
が
hoge(list, listItem => (listItem.A, listItem.B));
と書けたところでたいして嬉しいと思えんけど
何言ってるのか理解するのに5分かかったw
ラムダ式の右辺(?)の評価方法をジェネリックの型パラメータを確定する場面で指定するとか
普通に無理筋でしょう
hoge(list, listItem => new[] { listItem.A, listItem.B });
が
hoge(list, listItem => (listItem.A, listItem.B));
と書けたところでたいして嬉しいと思えんけど
434デフォルトの名無しさん (ワッチョイ cdb0-lNpu)
2019/08/25(日) 14:04:21.51ID:UfI3Un4o0435デフォルトの名無しさん (ワッチョイ baf9-RyRR)
2019/08/25(日) 22:03:25.03ID:4LqybIGY0 Formのプログラムで普通に動作してたOpenFormDialogを使ってる箇所が突然フリーズしてしまいます。
一旦そうなるとWindows自体が不安定になり、他のプログラムで恐らくOpenFormDialogを使ってる所が全てフリーズしOSの再起動が必要になります。
どんな要因が考えられるでしょうか。
プログラムはかんたんなグラフィックエディタで矩形やテキストを移動したり変形する程度です
一旦そうなるとWindows自体が不安定になり、他のプログラムで恐らくOpenFormDialogを使ってる所が全てフリーズしOSの再起動が必要になります。
どんな要因が考えられるでしょうか。
プログラムはかんたんなグラフィックエディタで矩形やテキストを移動したり変形する程度です
436デフォルトの名無しさん (ワッチョイ fa2c-QSEA)
2019/08/25(日) 22:12:11.72ID:hYfvTIib0 OpenFormDialog? OpenFileDialogじゃなくて?
OpenFileDialogならフリーズの話はあるから検索して
騒がれたのもう結構前だからまだ残ってるともあんまり思えないけど
OpenFileDialogならフリーズの話はあるから検索して
騒がれたのもう結構前だからまだ残ってるともあんまり思えないけど
437デフォルトの名無しさん (ワッチョイ fa2c-QSEA)
2019/08/25(日) 22:13:53.33ID:hYfvTIib0 あ、残ってるってのはフリーズするバグを残してる環境の話ね
438デフォルトの名無しさん (ワッチョイ baf9-RyRR)
2019/08/26(月) 00:35:03.80ID:D54D8pf80439デフォルトの名無しさん (ワッチョイ 3a89-lNpu)
2019/08/26(月) 01:40:22.77ID:YZSrPKBs0 List<Employee> のIDとList<int> の一致するEmployeeを取得したいです。
List<int>をforeach、その中でList<Employee>をFirstOrDefaultで探して
新たなList<Employee>にAddする方法はできました。
これのforeachを撲滅して簡潔に書きたいのですがいい方法はありますか?
List<int>をforeach、その中でList<Employee>をFirstOrDefaultで探して
新たなList<Employee>にAddする方法はできました。
これのforeachを撲滅して簡潔に書きたいのですがいい方法はありますか?
440デフォルトの名無しさん (ワッチョイ 0d22-XeeC)
2019/08/26(月) 01:54:35.76ID:XYz1A7/c0 var employees = new List<Employee>();
var ids = new List<int>();
・・・・
var hitEmployees = employees.Where(employee => ids.Where(id => id == employee.id).Any()).ToList();
var ids = new List<int>();
・・・・
var hitEmployees = employees.Where(employee => ids.Where(id => id == employee.id).Any()).ToList();
441デフォルトの名無しさん (ワッチョイ fa2c-QSEA)
2019/08/26(月) 05:09:56.54ID:d+oJYvyp0 employees.Join(ids, _emp => _emp.ID, _id => _id, (_emp, _id) => _emp)
joinはクエリ構文の方が読みやすいな
from emp in employees join id in ids on emp.ID equals id select emp
joinはクエリ構文の方が読みやすいな
from emp in employees join id in ids on emp.ID equals id select emp
442デフォルトの名無しさん (ワッチョイ faad-Z4JX)
2019/08/26(月) 06:09:07.86ID:LiZWIy1C0 Find
443デフォルトの名無しさん (ワッチョイ 7a79-P0k6)
2019/08/26(月) 07:20:31.54ID:H4cvWJOz0 employees.FindAll(emp => ids.Contains(emp.ID))
444デフォルトの名無しさん (アウアウクー MMc5-CbcL)
2019/08/26(月) 08:56:15.22ID:WqA3OufOM EnumSetってEnumの値を2のベキにすればいいから存在しないの?
445デフォルトの名無しさん (スププ Sd9a-kbW9)
2019/08/26(月) 11:40:26.35ID:Rhz6dR8od イベントハンドラのいなづまアイコンってどういう意味なの?
気になって開発が手につきません。
気になって開発が手につきません。
446デフォルトの名無しさん (アウアウウー Sa09-Aknt)
2019/08/26(月) 12:01:50.23ID:EHOEsFfWa 地下鉄漫才かよw
447デフォルトの名無しさん (オッペケ Sr05-tuDN)
2019/08/26(月) 16:00:24.81ID:7fzFkpCMr execute
神がいかずちをもって手を下す
的な
神がいかずちをもって手を下す
的な
448デフォルトの名無しさん (ワッチョイ 3a89-lNpu)
2019/08/26(月) 22:32:00.17ID:YZSrPKBs0449デフォルトの名無しさん (アウアウウー Sa09-UUTf)
2019/08/27(火) 07:54:15.38ID:wbq0Lfqra おお、なるほど。LINQのクイズ集があれば面白そうだな。
450デフォルトの名無しさん (スフッ Sd9a-cx4e)
2019/08/27(火) 08:59:40.07ID:S6vHFDx3d 443はlinqじゃないぞ
2.0の頃からあるListクラスのメソッドだけだ
2.0の頃からあるListクラスのメソッドだけだ
451デフォルトの名無しさん (ワッチョイ 0d22-Kr2K)
2019/08/27(火) 10:18:31.48ID:AUeyxvTx0 >>450
ラムダ式が使えるようになったのはC#3.0から
ラムダ式が使えるようになったのはC#3.0から
452デフォルトの名無しさん (スフッ Sd9a-cx4e)
2019/08/27(火) 11:47:29.33ID:S6vHFDx3d >>451
そうそう。なのでデリゲート使って書く必要はあるけど
そうそう。なのでデリゲート使って書く必要はあるけど
453デフォルトの名無しさん (ワッチョイ 99b0-P0k6)
2019/08/27(火) 19:15:36.40ID:4aKZbpn00 次のようなことをしたいのですが、どうすればいいでしょうか。
async、awaitを使えばいいようにも思えたのですが、クラス内のループが止まらず・・・
1.ボタン押下でとある処理をするクラスのインスタンスを生成し、クラス内で処理を無限ループ
2.ボタン押下でクラス内のループを停止
async、awaitを使えばいいようにも思えたのですが、クラス内のループが止まらず・・・
1.ボタン押下でとある処理をするクラスのインスタンスを生成し、クラス内で処理を無限ループ
2.ボタン押下でクラス内のループを停止
454デフォルトの名無しさん (ワッチョイ d67b-F52R)
2019/08/27(火) 19:21:08.99ID:a3Zgv65M0455デフォルトの名無しさん (アウアウイー Sac5-DhPa)
2019/08/27(火) 20:10:30.11ID:2XS9VBdia CancellationTokenSourceを使うのが比較的妥当なやり方かな
2でボタンを押したらcancellationTokenSource.Cancel()
無限ループ側の処理では適宜cancellationToken.ThrowIfCancellationRequested()
2でボタンを押したらcancellationTokenSource.Cancel()
無限ループ側の処理では適宜cancellationToken.ThrowIfCancellationRequested()
456デフォルトの名無しさん (ワッチョイ 7a79-P0k6)
2019/08/27(火) 20:56:45.60ID:LqXN8ItS0 低レベルな実装だと終了フラグの参照を渡しておくとか
457デフォルトの名無しさん (ワッチョイ f15f-7nd5)
2019/08/27(火) 21:11:30.63ID:fYPVnhP50458デフォルトの名無しさん (ワッチョイ 99b0-P0k6)
2019/08/27(火) 21:12:50.98ID:4aKZbpn00459デフォルトの名無しさん (ワッチョイ 99b0-P0k6)
2019/08/27(火) 21:26:09.47ID:4aKZbpn00 >>457
そういった方法もあるのですね。ありがとうございます。
そういった方法もあるのですね。ありがとうございます。
460デフォルトの名無しさん (ササクッテロ Sp05-LzRA)
2019/08/27(火) 22:06:20.98ID:GZd8Fc/Qp 無限ループなんか組むな。
461デフォルトの名無しさん (ワッチョイ 99b0-P0k6)
2019/08/27(火) 22:40:07.64ID:4aKZbpn00 すみません・・・
あるフォルダにファイルが保管されたときに
そのファイルを処理したくて監視に無限ループを使ってしまいました。
他に良い方法があれば、お教え願えないでしょうか。
あるフォルダにファイルが保管されたときに
そのファイルを処理したくて監視に無限ループを使ってしまいました。
他に良い方法があれば、お教え願えないでしょうか。
462デフォルトの名無しさん (ワッチョイ 5d01-125u)
2019/08/27(火) 22:43:30.90ID:4WMOl80S0 >>461
System.IO.FileSystemWatcher
System.IO.FileSystemWatcher
463デフォルトの名無しさん (ワッチョイ 5d01-125u)
2019/08/27(火) 22:46:14.03ID:4WMOl80S0 もしくは、win32ApiのFindFirstChangeNotification()か
464デフォルトの名無しさん (ワッチョイ 99b0-P0k6)
2019/08/27(火) 22:46:46.91ID:4aKZbpn00465デフォルトの名無しさん (ワッチョイ 2142-gQHD)
2019/08/28(水) 09:31:28.37ID:jmHHdju80 自分はC#といえば当たり前のようにWindowsFormでやってたけど
みんなは何使ってるの?
みんなは何使ってるの?
466デフォルトの名無しさん (オイコラミネオ MMbd-tmze)
2019/08/28(水) 11:09:54.59ID:xlt6w80MM467デフォルトの名無しさん (ワッチョイ 99ae-atfx)
2019/08/28(水) 11:18:52.44ID:kf58t1t/0 WinformからUWP APIを呼び出すことも出来るしな
468デフォルトの名無しさん (ラクペッ MMed-43Wh)
2019/08/28(水) 12:01:00.80ID:nq/8XfUOM WPFでやってるけど誰かにお勧めしたことはないしとてもお勧めできない
469デフォルトの名無しさん (アウアウウー Sa09-y1iX)
2019/08/28(水) 12:10:35.61ID:biFO59Yua >>465
Winformなプロジェクトだが、XAMLでのレイアウトが好きだから自分の担当画面はWPF使ってる
Winformなプロジェクトだが、XAMLでのレイアウトが好きだから自分の担当画面はWPF使ってる
470デフォルトの名無しさん (スッップ Sd9a-6AzI)
2019/08/28(水) 12:29:45.46ID:XsRrDAKXd >>465
ASP.NET Core
ASP.NET Core
471デフォルトの名無しさん (スフッ Sd9a-Kr2K)
2019/08/28(水) 12:34:32.95ID:in2U0t2Ud >>465
WinFormsやらWPFやらXamarin
WinFormsやらWPFやらXamarin
472デフォルトの名無しさん (オイコラミネオ MMbd-tmze)
2019/08/28(水) 14:05:53.46ID:xlt6w80MM >>465
アンカーやドック追加してくれたのが嬉しすぎて、他に浮気してまで新たに覚える気にならないってのもあるかな
アンカーやドック追加してくれたのが嬉しすぎて、他に浮気してまで新たに覚える気にならないってのもあるかな
473デフォルトの名無しさん (スププ Sd9a-kbW9)
2019/08/28(水) 20:18:04.95ID:h4zgSqGZd [DllImport("user32.dll")]
static extern IntPtr GetForegroundWindow();
アクティブウィンドウのクライアント領域を取得するにはどうすればいいでしょうか?
上のメソッド使えば行けそうなんだけど、行き詰まってます。
static extern IntPtr GetForegroundWindow();
アクティブウィンドウのクライアント領域を取得するにはどうすればいいでしょうか?
上のメソッド使えば行けそうなんだけど、行き詰まってます。
474デフォルトの名無しさん (ワッチョイ b117-P0k6)
2019/08/28(水) 20:23:25.50ID:7/MPDbwD0 C#関係ない
475デフォルトの名無しさん (ワッチョイ d67b-F52R)
2019/08/28(水) 20:39:43.87ID:j6ZvHlbE0 >>473
それはアクティブになっているウインドウのハンドルを返すだけのもの
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getclientrect
RECTの構造体は自分で用意して上のURLではポインタが引数になっているけどC#なら
[DllImport("user32.dll")]
private static extern int GetClientRect(IntPtr hwnd, ref RECT Rect);
みたいに構造体をrefかoutで指定したらそこに戻ってくる
それはアクティブになっているウインドウのハンドルを返すだけのもの
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getclientrect
RECTの構造体は自分で用意して上のURLではポインタが引数になっているけどC#なら
[DllImport("user32.dll")]
private static extern int GetClientRect(IntPtr hwnd, ref RECT Rect);
みたいに構造体をrefかoutで指定したらそこに戻ってくる
476デフォルトの名無しさん (ワッチョイ 260d-bErd)
2019/08/28(水) 23:28:13.40ID:1vTqziPj0 c#楽しいね
直感ですぐGUIアプリ作れるからプログラミング覚えたいけど特に目標がないって人にはc#一択だと思う
直感ですぐGUIアプリ作れるからプログラミング覚えたいけど特に目標がないって人にはc#一択だと思う
477デフォルトの名無しさん (ワッチョイ 9a07-kbW9)
2019/08/28(水) 23:50:51.61ID:RWMmexzc0 >>475
ほぼそのまんまのサンプルを見つけて問題はとりあえず解決しました。
https://ja.stackoverflow.com/questions/21328/c-processで指定した別プロセスのウインドウを-クライアント領域のみキャプチャしたい
アクティブウィンドウのクライアント領域の取得は、
c# + netframework ではできないのですか?
ほぼそのまんまのサンプルを見つけて問題はとりあえず解決しました。
https://ja.stackoverflow.com/questions/21328/c-processで指定した別プロセスのウインドウを-クライアント領域のみキャプチャしたい
アクティブウィンドウのクライアント領域の取得は、
c# + netframework ではできないのですか?
478デフォルトの名無しさん (ワッチョイ 3163-CiQ8)
2019/08/29(木) 00:27:03.61ID:yP1vALXb0 できるよ
お前には一週間早い
お前には一週間早い
479デフォルトの名無しさん (ワッチョイ 1379-uxNz)
2019/08/29(木) 01:19:09.27ID:wYLP5dcN0 次はListViewの要素の長方形を得たいとかかな
結局.netからは離れていきそう
結局.netからは離れていきそう
480デフォルトの名無しさん (ワッチョイ d1da-ca7b)
2019/08/29(木) 01:53:51.70ID:KY//KYCr0 TreeViewの表示を標準の
項目1
┗項目2
┣項目3
┗項目4
から、
項目1━項目2┳項目3
┗項目4
にするにはどうすればよいでしょうか?
項目1
┗項目2
┣項目3
┗項目4
から、
項目1━項目2┳項目3
┗項目4
にするにはどうすればよいでしょうか?
481デフォルトの名無しさん (ワッチョイ 0101-W7g/)
2019/08/29(木) 01:59:31.63ID:AZY1Uw460 owner draw
482デフォルトの名無しさん (ワッチョイ 6bda-5xY+)
2019/08/29(木) 02:11:15.91ID:HoxlVuhE0 普通にカスタムコントロールを作った方が早そう
483デフォルトの名無しさん (アウアウウー Sa55-qt7j)
2019/08/29(木) 07:51:27.50ID:JXiDsy0oa >>473
GetActiveWindow()って無かったっけ?
GetActiveWindow()って無かったっけ?
484デフォルトの名無しさん (アウアウウー Sa55-qt7j)
2019/08/29(木) 07:52:24.70ID:JXiDsy0oa ↑ああ、早とちり
485デフォルトの名無しさん (ワッチョイ d101-drPI)
2019/08/30(金) 21:10:43.61ID:euEksp6k0 ドラッグアンドドロップで拡張子を.txt→.jsonに変更するプログラムのコードをください
486デフォルトの名無しさん (ワッチョイ 9963-n2vT)
2019/08/30(金) 21:15:43.51ID:a95S+czO0 batでやったほうが早そうなレベルだけど
fileをrenameするだけでしょ?
fileをrenameするだけでしょ?
487デフォルトの名無しさん (ワッチョイ d101-drPI)
2019/08/30(金) 21:18:37.15ID:euEksp6k0 renameするだけですね
どうしてもC♯でやりたいんです
どうしてもC♯でやりたいんです
488デフォルトの名無しさん (ワッチョイ eb7b-OHvC)
2019/08/30(金) 21:30:48.63ID:m5yHWiCc0 >>487
拡張子の書き換えは
System.IO.Path.ChangeExtension(filepath, extension)
ここはコードを代わりに書くスレじゃないのでキーワードはあるのだから後はググってください
拡張子の書き換えは
System.IO.Path.ChangeExtension(filepath, extension)
ここはコードを代わりに書くスレじゃないのでキーワードはあるのだから後はググってください
489デフォルトの名無しさん (ワッチョイ d101-drPI)
2019/08/30(金) 21:39:06.95ID:euEksp6k0 一日ググってもわからなかったので聞きに来ました
490デフォルトの名無しさん (ワッチョイ 3163-CiQ8)
2019/08/30(金) 22:13:39.42ID:LYP1s7Gj0 誰が一日ググれば聞いていいって言ったんだよ
ひと月はググれ
ひと月はググれ
491デフォルトの名無しさん (ササクッテロ Sp5d-qeiT)
2019/08/30(金) 22:15:07.21ID:gOJh05ROp >>488
それだけじゃ変数領域にあるファイル名しかリネームされてない予感
それだけじゃ変数領域にあるファイル名しかリネームされてない予感
492デフォルトの名無しさん (ワッチョイ eb63-kL5O)
2019/08/30(金) 22:16:45.05ID:5knN0MFU0 むしろググる以外のことをしろ
一日やったらわかったこととわからんとこぐらいあるだろ
一日やったらわかったこととわからんとこぐらいあるだろ
493デフォルトの名無しさん (ワッチョイ 9963-n2vT)
2019/08/30(金) 22:17:38.29ID:a95S+czO0 どこがわからなかったのかくらい書いてくれないと説明できんよ
ドラッグアンドドロップの受け取り方?
拡張子の変え方?
コンソールアプリなの?デスクトップアプリなの?
ドラッグアンドドロップの受け取り方?
拡張子の変え方?
コンソールアプリなの?デスクトップアプリなの?
494デフォルトの名無しさん (ワッチョイ d101-drPI)
2019/08/30(金) 22:22:42.01ID:euEksp6k0 https://www.ipentec.com/document/csharp-accept-drag-and-drop-from-explorer
https://dobon.net/vb/dotnet/file/changeextension.html
ここの二つのサイトを参考にして組み合わせれないかと色々やってみたんですけどうまくいかないんですよね
それぞれ片方ずつならうまく動きます
https://dobon.net/vb/dotnet/file/changeextension.html
ここの二つのサイトを参考にして組み合わせれないかと色々やってみたんですけどうまくいかないんですよね
それぞれ片方ずつならうまく動きます
495デフォルトの名無しさん (ワッチョイ 9963-n2vT)
2019/08/30(金) 22:27:14.34ID:a95S+czO0 上手く行かないとは何かを説明して
コンパイルできない?エラーが出る?例外が出る?
実はmoveできてるけど別のフォルダに作ってるとかないよね?
コンパイルできない?エラーが出る?例外が出る?
実はmoveできてるけど別のフォルダに作ってるとかないよね?
496デフォルトの名無しさん (ワッチョイ 0917-cRT5)
2019/08/30(金) 22:27:46.98ID:Eq4lHDlT0 答えが出てるから色々試そうぜ
あと1日試してやり方がわからないのなら
>>1にある
>■コードを貼る場合は↓を使いましょう。
>http://ideone.com/
>https://dotnetfiddle.net/
にコードを張ってここからどうやれば良いかを聞いてくれ
あと1日試してやり方がわからないのなら
>>1にある
>■コードを貼る場合は↓を使いましょう。
>http://ideone.com/
>https://dotnetfiddle.net/
にコードを張ってここからどうやれば良いかを聞いてくれ
497デフォルトの名無しさん (ワッチョイ d101-drPI)
2019/08/30(金) 22:47:12.10ID:euEksp6k0 http://ideone.com/4eJIcv
これで貼れてますか?フォームアプリケーションです。
ここの57行目のファイルのパスをドラッグアンドドロップして得たパスに変更したいんですけどうまくいかないんですよね
これで貼れてますか?フォームアプリケーションです。
ここの57行目のファイルのパスをドラッグアンドドロップして得たパスに変更したいんですけどうまくいかないんですよね
498デフォルトの名無しさん (ワッチョイ eb7b-OHvC)
2019/08/30(金) 22:58:41.75ID:m5yHWiCc0 >>497
private void Form1_DragDrop(object sender, DragEventArgs e)
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false);
for (int i = 0; i < files.Length; i++)
{
string fileName = files[i];
textBox1.Text += fileName + "\r\n";
System.IO.File.Move(fileName, System.IO.Path.ChangeExtension(fileName, "bak"));
}
}
これでいいでしょ
ボタンクリックでやりたいのならフィールドでファイルパス持たないと
private void Form1_DragDrop(object sender, DragEventArgs e)
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false);
for (int i = 0; i < files.Length; i++)
{
string fileName = files[i];
textBox1.Text += fileName + "\r\n";
System.IO.File.Move(fileName, System.IO.Path.ChangeExtension(fileName, "bak"));
}
}
これでいいでしょ
ボタンクリックでやりたいのならフィールドでファイルパス持たないと
499デフォルトの名無しさん (ワッチョイ d101-drPI)
2019/08/30(金) 23:12:12.27ID:euEksp6k0500デフォルトの名無しさん (ワッチョイ 895f-rkig)
2019/08/30(金) 23:59:42.45ID:Nv4TyFgP0501デフォルトの名無しさん (ワッチョイ eb63-kL5O)
2019/08/31(土) 00:15:27.52ID:yACTwzu40 テキストボックスのテキストも環境の影響受けるんか?
おれは環境によらず出力一定のほうが安心する
おれは環境によらず出力一定のほうが安心する
502デフォルトの名無しさん (ワッチョイ 895f-rkig)
2019/08/31(土) 00:24:05.20ID:8S6g8PTE0 どちらかと言うと定義済みの定数としてだな
503デフォルトの名無しさん (ワッチョイ 1379-uxNz)
2019/08/31(土) 02:02:25.00ID:XD/oUD8U0 コンソールとGUIの改行が同じという保証なんて無いんだが
504デフォルトの名無しさん (ワッチョイ e122-UhVm)
2019/08/31(土) 04:03:11.60ID:5bIs7pBL0 >>503
同意
同意
505デフォルトの名無しさん (ワッチョイ 097d-cRT5)
2019/08/31(土) 08:13:13.94ID:auI6O9iK0 JSONを扱いたいのですが.NET標準機能では
JSON.NETにあるJsonPropertyのような変数名とは別の名前で
出力できるような機能は無いでしょうか?
JSON.NETにあるJsonPropertyのような変数名とは別の名前で
出力できるような機能は無いでしょうか?
506デフォルトの名無しさん (ワッチョイ 13ad-dWIW)
2019/08/31(土) 08:26:54.85ID:/xXRK3gd0507デフォルトの名無しさん (ワッチョイ 097d-cRT5)
2019/08/31(土) 08:38:53.92ID:auI6O9iK0508デフォルトの名無しさん (ワッチョイ d101-drPI)
2019/08/31(土) 15:26:10.82ID:pxkHJ9ge0 クロームにURL開かせるプログラムって作れるのかな
509デフォルトの名無しさん (ワッチョイ d101-drPI)
2019/08/31(土) 15:34:24.66ID:pxkHJ9ge0 標準ブラウザで開くのがありました
510デフォルトの名無しさん (ワッチョイ 895f-5xY+)
2019/08/31(土) 17:12:50.00ID:3HNIz5om0 引数にURLを入れて起動すればいいんじゃない?
やったことないけど
やったことないけど
511デフォルトの名無しさん (アウアウエー Sa23-DvX6)
2019/08/31(土) 18:30:37.90ID:OVCgKeDNa headlessでできるよー
512デフォルトの名無しさん (ワッチョイ 0101-aCR/)
2019/08/31(土) 18:34:41.41ID:lSinYyRY0 >>510
どんなブラウザでも、標準でそうなってる(べき)と思ってる。meも
どんなブラウザでも、標準でそうなってる(べき)と思ってる。meも
513デフォルトの名無しさん (ワッチョイ 9963-n2vT)
2019/08/31(土) 20:59:16.96ID:DOQSWUJb0 start url
って叩きゃ標準ブラウザが立ち上がるでしょ
引数ってブラウザのexeパス調べてそこに渡すの?
OSが知ってんだからOSにぶん投げればいいだけじゃん
って叩きゃ標準ブラウザが立ち上がるでしょ
引数ってブラウザのexeパス調べてそこに渡すの?
OSが知ってんだからOSにぶん投げればいいだけじゃん
514デフォルトの名無しさん (ワッチョイ c163-Zz8z)
2019/08/31(土) 22:02:09.86ID:3KJgwSNk0 >>508
Seleniumだな、それこそ。
Seleniumだな、それこそ。
515デフォルトの名無しさん (ワッチョイ 5124-kL5O)
2019/09/02(月) 13:12:29.24ID:x5YZ9uix0 Span<T>をコレクションに貯める事って出来ないんでしょうか?
受け取ったbyte[]から一部のみを必要としていますが、startIndexとlengthを一々記録するのも面倒であるため、現状は新たにnew byte[length]を作りコピーをして貯めています
別にこれでも全く困っていませんが、あんまりスマートではない気がしているので元のbyte[]を.AsSpan(startIndex, length)したものをコレクションに貯められればスッキリするのですが
受け取ったbyte[]から一部のみを必要としていますが、startIndexとlengthを一々記録するのも面倒であるため、現状は新たにnew byte[length]を作りコピーをして貯めています
別にこれでも全く困っていませんが、あんまりスマートではない気がしているので元のbyte[]を.AsSpan(startIndex, length)したものをコレクションに貯められればスッキリするのですが
516デフォルトの名無しさん (ワッチョイ 0b7c-+0qt)
2019/09/02(月) 13:30:51.46ID:DTXhuRLF0 できないよ
array[3..7]とかでSliceするとか元の配列を使うならArraySegment<T>使うとか
array[3..7]とかでSliceするとか元の配列を使うならArraySegment<T>使うとか
517デフォルトの名無しさん (アウアウウー Sa55-HWcK)
2019/09/02(月) 14:07:32.18ID:/BuOMso5a へーSpanってそんな制約があるのか知らんかった
https://stackoverflow.com/questions/52484998/the-type-spanchar-may-not-be-used-as-a-type-argument
https://stackoverflow.com/questions/52484998/the-type-spanchar-may-not-be-used-as-a-type-argument
518デフォルトの名無しさん (ワッチョイ 132c-cmxz)
2019/09/02(月) 14:41:25.59ID:ZSYwkq3t0 >>508
例えば、Ruby, Selenium Webdriver なら、
下のファイルを、test.rb とすると、端末で、
ruby test.rb "ここにURL"
と入力すると、引数がARGV[0] に入ってくる
require "selenium-webdriver"
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver = Selenium::WebDriver.for :chrome, options: options
driver.navigate.to ARGV[0] # URL
例えば、Ruby, Selenium Webdriver なら、
下のファイルを、test.rb とすると、端末で、
ruby test.rb "ここにURL"
と入力すると、引数がARGV[0] に入ってくる
require "selenium-webdriver"
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver = Selenium::WebDriver.for :chrome, options: options
driver.navigate.to ARGV[0] # URL
519デフォルトの名無しさん (アウアウウー Sa55-+0qt)
2019/09/02(月) 17:47:47.05ID:btOIY8sya >>515
MemoryExtensions.AsMemory()を経由してSystem.Memory<T>を管理するのはどう?
MemoryExtensions.AsMemory()を経由してSystem.Memory<T>を管理するのはどう?
520デフォルトの名無しさん (ワッチョイ 895f-rkig)
2019/09/02(月) 22:24:59.33ID:yMcQzedZ0 >>518
C#で書かないならスレチ
C#で書かないならスレチ
521デフォルトの名無しさん (ワッチョイ 0b0d-N0pA)
2019/09/03(火) 00:14:45.15ID:nBDYMOwL0 なんで突然ruby?
522デフォルトの名無しさん (ワッチョイ d352-ehfx)
2019/09/03(火) 00:20:55.08ID:UWVASv0T0 >>521
ソイツはいくつかのスレタイにRuby禁止といれることになった元凶だから、考えるだけ無駄よ
ソイツはいくつかのスレタイにRuby禁止といれることになった元凶だから、考えるだけ無駄よ
523デフォルトの名無しさん (ワッチョイ ebf2-cRT5)
2019/09/03(火) 04:53:21.49ID:uBbuO65f0 これもう半分まつもとゆきひろだろ
524デフォルトの名無しさん (ワッチョイ 3163-CiQ8)
2019/09/03(火) 07:44:05.39ID:ZfMnDhcZ0 Matzから分離した闇の半身か何か(ダークファンタジー感)
525デフォルトの名無しさん (ワッチョイ d101-drPI)
2019/09/03(火) 15:02:01.60ID:qa0OGce90 zipファイルのパスワード総当たりのコードってどこかに落ちてたりしません?
526デフォルトの名無しさん (アウウィフ FF55-ca7b)
2019/09/03(火) 15:23:56.69ID:gWEsYspAF ム板なんだし自分で書いても大した手間じゃないだろ
527デフォルトの名無しさん (ワッチョイ c1a3-wVGT)
2019/09/04(水) 23:01:10.22ID:YAGCYgl00 ラプラス使ったほうが早い
528デフォルトの名無しさん (エムゾネ FF33-UhVm)
2019/09/04(水) 23:19:14.03ID:+3gE1skmF ラプラス変換関係ないだろ
529デフォルトの名無しさん (ワッチョイ c1a3-wVGT)
2019/09/04(水) 23:23:33.02ID:YAGCYgl00 フリーソフトなんだけど(´・ω・`)
530デフォルトの名無しさん (ブーイモ MM62-5l8Y)
2019/09/05(木) 08:24:49.80ID:cdpeKhxuM ラブプラスに見えたし
531デフォルトの名無しさん (ワッチョイ 2e12-+y6x)
2019/09/05(木) 12:39:28.85ID:mWzCSlDu0 頭がc
胴体がDelphi
尻尾がJava
これはなんという生き物か?
胴体がDelphi
尻尾がJava
これはなんという生き物か?
532デフォルトの名無しさん (スププ Sd62-5A7B)
2019/09/05(木) 12:52:58.36ID:IuZ8kmLDd メインフォームと5つボタンがあるサブフォームあります。
サブフォームで押されたボタンをメインフォームに渡す方法として、下記のようなことが書いてあります。
「サブフォームの呼び出し時にメインフォームのインスタンスをサブフォームの変数に渡すか、もしくは Ownerプロパティを設定し、サブフォームにメインフォームのインスタンスを伝える必要があります。」
これ循環参照にならないのですか?
owner プロパティならフレームワークでうまくやってくれそうですが、そうしないなら典型的な循環参照でメモリにいつまでも残るように見えます。
サブフォームで押されたボタンをメインフォームに渡す方法として、下記のようなことが書いてあります。
「サブフォームの呼び出し時にメインフォームのインスタンスをサブフォームの変数に渡すか、もしくは Ownerプロパティを設定し、サブフォームにメインフォームのインスタンスを伝える必要があります。」
これ循環参照にならないのですか?
owner プロパティならフレームワークでうまくやってくれそうですが、そうしないなら典型的な循環参照でメモリにいつまでも残るように見えます。
533デフォルトの名無しさん (スププ Sd62-5A7B)
2019/09/05(木) 12:57:57.83ID:IuZ8kmLDd >532のコードで気になった部分
public FormMain() {
InitializeComponent();
fs = new FormSub();
fs.formMain = this;
}
private void button1_Click(object sender, EventArgs e) {
fs.Show();
}
public FormMain() {
InitializeComponent();
fs = new FormSub();
fs.formMain = this;
}
private void button1_Click(object sender, EventArgs e) {
fs.Show();
}
534デフォルトの名無しさん (スップ Sd62-WdK5)
2019/09/05(木) 13:07:57.99ID:/TG+lkXnd 昔のVBとかじゃないから
参照カウント方式とかじゃないから
大丈夫だよ
参照カウント方式とかじゃないから
大丈夫だよ
535デフォルトの名無しさん (オイコラミネオ MM49-HBF5)
2019/09/05(木) 15:05:44.19ID:olW2Z8c3M536デフォルトの名無しさん (ドコグロ MM0a-cUvx)
2019/09/05(木) 15:11:39.37ID:MYIgyYNAM >>535
相互参照⊂循環参照
相互参照⊂循環参照
537デフォルトの名無しさん (ワッチョイ 82f9-URh6)
2019/09/06(金) 07:39:44.27ID:ON7V4Cum0 awaitの仕組みって面白いな
プログラムは逐次実行と思い込んでいたから最初戸惑ったけど
プログラムの可読性を上げつつ非同期が書ける仕組み
プログラムは逐次実行と思い込んでいたから最初戸惑ったけど
プログラムの可読性を上げつつ非同期が書ける仕組み
538デフォルトの名無しさん (ササクッテロ Spf1-SwPx)
2019/09/06(金) 12:21:39.70ID:5uKlWCRxp バカ、逆に非同期の仕組みが分かりにくい事になってて最悪だわ。
若い奴らはある種のおまじないとしか思って無いぞ。
だからサンプル通りに書いたら動いたで思考停止してるわ。
若い奴らはある種のおまじないとしか思って無いぞ。
だからサンプル通りに書いたら動いたで思考停止してるわ。
539デフォルトの名無しさん (ササクッテロ Spf1-SwPx)
2019/09/06(金) 12:23:25.42ID:5uKlWCRxp だったら最初から完全に隠蔽しちまえばいいのにそれも出来ない半端な言語だよな。
540デフォルトの名無しさん (ワッチョイ 8922-qCkd)
2019/09/06(金) 12:27:55.87ID:RjtqJRZu0 >>537
async/awaitはとてもいいよな
async/awaitはとてもいいよな
541デフォルトの名無しさん (スップ Sdc2-5gEI)
2019/09/06(金) 12:36:51.77ID:dfZG2SkRd >>539
へー半端な言語が大増殖してるねよかったね
へー半端な言語が大増殖してるねよかったね
542デフォルトの名無しさん (ワッチョイ 4224-stHu)
2019/09/06(金) 13:29:27.52ID:TB1/9ae/0 ものすごく細かく気にする価値のないであろう上で質問させてください。
下記のようなコードではColorを予め変数として保持していますが、ColorではなくSolidColorBrushごと変数として持っておいた方が良いと思うのですが違うんでしょうか?(Colorの各変数は下記のConvertメソッドでしか使われていません)
private Color redColor = Colors.Red;
private Color blueColor = Colors.Blue;
public object Convert(object value)
{
switch ((int)value)
{
case 0:
return new SolidColorBrush(redColor);
default:
return new SolidColorBrush(blueColor);
}
}
下記のようなコードではColorを予め変数として保持していますが、ColorではなくSolidColorBrushごと変数として持っておいた方が良いと思うのですが違うんでしょうか?(Colorの各変数は下記のConvertメソッドでしか使われていません)
private Color redColor = Colors.Red;
private Color blueColor = Colors.Blue;
public object Convert(object value)
{
switch ((int)value)
{
case 0:
return new SolidColorBrush(redColor);
default:
return new SolidColorBrush(blueColor);
}
}
543デフォルトの名無しさん (ワッチョイ 9901-GY6g)
2019/09/06(金) 13:30:16.71ID:I5nGSvp60 Occam 呼んだ〜
544デフォルトの名無しさん (ワッチョイ be7c-Qx9Y)
2019/09/06(金) 13:38:31.81ID:qBxw88Xh0 Convert呼び出した側がOpacityとか勝手に変えたりすることがないことが明らかなら
SolidColorBrushで持っててもいいよ
SolidColorBrushで持っててもいいよ
545デフォルトの名無しさん (ワッチョイ 4224-stHu)
2019/09/06(金) 13:43:03.96ID:TB1/9ae/0546デフォルトの名無しさん (スップ Sd62-aA0m)
2019/09/06(金) 20:41:34.27ID:QErA9RfTd return HttpResponseMessage {
StatusCode=HttpStatusCode.InternalServerError
}
これでクライアントにレスポンス返しても、クライアントで受け取ったレスポンスコードが200になるんだが、どうすりゃ良い?
StatusCode=HttpStatusCode.InternalServerError
}
これでクライアントにレスポンス返しても、クライアントで受け取ったレスポンスコードが200になるんだが、どうすりゃ良い?
547デフォルトの名無しさん (ワッチョイ 31a5-dIzf)
2019/09/06(金) 23:59:27.95ID:2XeZAy8C0 short lo = 500;
short hi = -1;
int value = hi << 16 & lo;
上記のプログラムでvalueに期待する結果が格納されません。
valueの右辺へおかしいところありますか?
short hi = -1;
int value = hi << 16 & lo;
上記のプログラムでvalueに期待する結果が格納されません。
valueの右辺へおかしいところありますか?
548デフォルトの名無しさん (ワッチョイ 3142-RcXn)
2019/09/07(土) 00:04:12.02ID:1iyY1sdc0 まず期待結果を教えろよ
脳内に格納したままで喋るな
脳内に格納したままで喋るな
549デフォルトの名無しさん (アウアウウー Saa5-DVh7)
2019/09/07(土) 00:35:07.80ID:lng4b11Wa ぶっ飛んでるねw
550デフォルトの名無しさん (ワッチョイ dd5f-OrRa)
2019/09/07(土) 00:47:49.03ID:lKqYze8d0 >>547
なんとなく&(and)と|(or)を間違えてる気がするけど、期待値書いてくれなきゃ分からんねw
なんとなく&(and)と|(or)を間違えてる気がするけど、期待値書いてくれなきゃ分からんねw
551デフォルトの名無しさん (ワッチョイ 4d61-ILBB)
2019/09/07(土) 01:10:23.93ID:ClfuNVBY0552デフォルトの名無しさん (ワッチョイ 4279-PxCh)
2019/09/07(土) 01:21:40.06ID:SOW3zbb30 C派生のシフト演算子ってビット演算子よりも優先順位低いんじゃなかったか?
C#で入れ替わったのかもしれんが
C#で入れ替わったのかもしれんが
553デフォルトの名無しさん (アウアウウー Saa5-4tq8)
2019/09/07(土) 01:30:36.24ID:spGdC07na 型変換か?
554デフォルトの名無しさん (ワッチョイ 317b-qs1I)
2019/09/07(土) 01:31:47.20ID:l9Sxm6Vo0 >>552
docsに演算子の一覧と優先順位がある
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/
docsに演算子の一覧と優先順位がある
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/
555デフォルトの名無しさん (ワッチョイ dd5f-OrRa)
2019/09/07(土) 01:52:37.97ID:lKqYze8d0556デフォルトの名無しさん (ワッチョイ ade6-kyym)
2019/09/07(土) 01:57:56.73ID:7Z6eBjmW0 ?はもっと上げてほしい
557デフォルトの名無しさん (ワッチョイ ade6-kyym)
2019/09/07(土) 01:58:53.26ID:7Z6eBjmW0 じゃなくて??
558デフォルトの名無しさん (アウアウウー Saa5-xt41)
2019/09/07(土) 11:12:31.90ID:53qID/ifa async/await、読みやすいし書きやすいけどな。
559デフォルトの名無しさん (ワッチョイ 8990-uegj)
2019/09/07(土) 11:14:11.92ID:LlCffhcK0 https://www.youtube.com/watch?v=O8ucIQA829w
Introduction into StockSharp training course
どうこれVisual Studioってこんなに速く作れるの?
自分で自動売買ソフト組めるってすごくね?
Introduction into StockSharp training course
どうこれVisual Studioってこんなに速く作れるの?
自分で自動売買ソフト組めるってすごくね?
560デフォルトの名無しさん (ワッチョイ c294-OrRa)
2019/09/09(月) 13:42:14.17ID:mFi2C/Ml0 クラスの継承について分からくなってしまったので教えて下さい。
以下のプログラムを実行すると、コメントの通り、False, True と表示されます。
[STAThread]
static void Main(string[] args)
{
var desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
var folderItems = new Shell32.Shell().NameSpace(desktopPath).Items();
Console.WriteLine(folderItems is Shell32.FolderItems2); // False と表示される
Console.WriteLine(folderItems is Shell32.FolderItems3); // True と表示される
}
Shell32.FolderItems3 は Shell32.FolderItems2 を継承しているので
2つ目が True なら必ず1つ目も True になると思っていたのですが、
これはどのようなことが起こっているのでしょうか。
FolderItems2 object
https://docs.microsoft.com/ja-jp/windows/win32/shell/folderitems2-object
FolderItems3 object
https://docs.microsoft.com/ja-jp/windows/win32/shell/folderitems3-object
.Net Framework 4.7.2 でコンパイルし、Windows 10 Pro で実行しました。
よろしくお願いいたします。
以下のプログラムを実行すると、コメントの通り、False, True と表示されます。
[STAThread]
static void Main(string[] args)
{
var desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
var folderItems = new Shell32.Shell().NameSpace(desktopPath).Items();
Console.WriteLine(folderItems is Shell32.FolderItems2); // False と表示される
Console.WriteLine(folderItems is Shell32.FolderItems3); // True と表示される
}
Shell32.FolderItems3 は Shell32.FolderItems2 を継承しているので
2つ目が True なら必ず1つ目も True になると思っていたのですが、
これはどのようなことが起こっているのでしょうか。
FolderItems2 object
https://docs.microsoft.com/ja-jp/windows/win32/shell/folderitems2-object
FolderItems3 object
https://docs.microsoft.com/ja-jp/windows/win32/shell/folderitems3-object
.Net Framework 4.7.2 でコンパイルし、Windows 10 Pro で実行しました。
よろしくお願いいたします。
561デフォルトの名無しさん (スププ Sd62-5A7B)
2019/09/09(月) 13:57:18.69ID:+ClizqJ4d 下記 は子フォームから親フォームへのデータ引き渡しのサンプルです。
ShowDialog(); の戻り値を使ってないのですが、ここがよくわかりません。
static public List<object> ShowForm2(List<object> argObjs) {
using (Form2 subForm = new Form2(argObjs)) {
subForm.ShowDialog(); // 戻り値は?
return subForm.resultObjs;
}
}
現在はデータの受け渡しは ShowDialog(); で表示、DialogResult を受け取り、これで処理を分岐。
これだと呼び出し側が少し膨らむと思って探していたサンプルが上のやつです。
ShowDialog(); の戻り値を使ってないのですが、ここがよくわかりません。
static public List<object> ShowForm2(List<object> argObjs) {
using (Form2 subForm = new Form2(argObjs)) {
subForm.ShowDialog(); // 戻り値は?
return subForm.resultObjs;
}
}
現在はデータの受け渡しは ShowDialog(); で表示、DialogResult を受け取り、これで処理を分岐。
これだと呼び出し側が少し膨らむと思って探していたサンプルが上のやつです。
562デフォルトの名無しさん (ワッチョイ ed7c-p7Vf)
2019/09/09(月) 14:01:51.48ID:FLVXg6p/0 >>560
type of
type of
563デフォルトの名無しさん (ワッチョイ be7c-gJmI)
2019/09/09(月) 14:25:45.50ID:wj5pBZXU0 >>561
それだけじゃ何とも言えないけど
ダイアログがキャンセルされたかどうかもresultObjsに含んでる
またはキャンセルされたかどうかは重要ではない
のどっちかでDialogResultは不要と考えたんじゃね
あとはただのチェック忘れか
それだけじゃ何とも言えないけど
ダイアログがキャンセルされたかどうかもresultObjsに含んでる
またはキャンセルされたかどうかは重要ではない
のどっちかでDialogResultは不要と考えたんじゃね
あとはただのチェック忘れか
564デフォルトの名無しさん (ワッチョイ 2eda-ysR5)
2019/09/09(月) 14:33:19.47ID:+8Zg4WGY0 showdialogはあくまでサブフォーム表示中に
処理を進めないためだけに使っていて
表示したサブフォームがOKもキャンセルもない作りなら
返り値を使う必要がないんだろう
例えばファイルの検索処理とその経過を表示するだけの
サブフォームだったりするんじゃないかな
処理を進めないためだけに使っていて
表示したサブフォームがOKもキャンセルもない作りなら
返り値を使う必要がないんだろう
例えばファイルの検索処理とその経過を表示するだけの
サブフォームだったりするんじゃないかな
565デフォルトの名無しさん (アウアウウー Saa5-DVh7)
2019/09/09(月) 14:44:41.43ID:y33/yVcMa >>560
FolderItems2とかFolderItems3はあくまでVSによって作られた
ラッパークラスなんだと思うけど、たぶんこのラッパークラスには
元のCOMの継承関係は反映されないんだろう。
知らないけど。
FolderItems2とかFolderItems3はあくまでVSによって作られた
ラッパークラスなんだと思うけど、たぶんこのラッパークラスには
元のCOMの継承関係は反映されないんだろう。
知らないけど。
566デフォルトの名無しさん (ワッチョイ c294-OrRa)
2019/09/09(月) 14:54:29.42ID:mFi2C/Ml0 >>562
レスどうもありがとうございます。
申し訳ないですが、おっしゃりたいことが理解できませんでした。
>>565
レスどうもありがとうございます。
>>560 で貼り付けた URL は不適切で、
本来は以下の URL を貼り付けるべきでした。
申し訳ないです。
FolderItems2 Interface
https://docs.microsoft.com/en-us/dotnet/api/shell32.folderitems2
FolderItems3 Interface
https://docs.microsoft.com/en-us/dotnet/api/shell32.folderitems3
この .Net の説明を見てもやはり継承関係はあるようですし、
if (folderItems is Shell32.FolderItems3 folderItems3)
{
Shell32.FolderItems2 folderItems2 = folderItems3;
}
のようなコードもコンパイルエラーにならないので、
継承関係があることは間違いないと思います。
また何かお分かりのことがあれば教えていただけると嬉しく思います。
よろしくお願いいたします。
レスどうもありがとうございます。
申し訳ないですが、おっしゃりたいことが理解できませんでした。
>>565
レスどうもありがとうございます。
>>560 で貼り付けた URL は不適切で、
本来は以下の URL を貼り付けるべきでした。
申し訳ないです。
FolderItems2 Interface
https://docs.microsoft.com/en-us/dotnet/api/shell32.folderitems2
FolderItems3 Interface
https://docs.microsoft.com/en-us/dotnet/api/shell32.folderitems3
この .Net の説明を見てもやはり継承関係はあるようですし、
if (folderItems is Shell32.FolderItems3 folderItems3)
{
Shell32.FolderItems2 folderItems2 = folderItems3;
}
のようなコードもコンパイルエラーにならないので、
継承関係があることは間違いないと思います。
また何かお分かりのことがあれば教えていただけると嬉しく思います。
よろしくお願いいたします。
567デフォルトの名無しさん (ワッチョイ be7c-gJmI)
2019/09/09(月) 15:06:55.45ID:wj5pBZXU0 COMにおける継承はメンバを引き継ぐという意味であってキャスト可能かどうかは別の話だから
.NETのコード上で明示的または暗黙的にCOMオブジェクト(のラッパ)をキャストした場合
QueryInterfaceが呼び出されてそのインターフェイスに変換できるかどうかオブジェクト自身に問い合わせる
だから共通型システム的には問題ない暗黙的キャストでもその下のQueryInterfaceで拒否される可能性がある
.NETのコード上で明示的または暗黙的にCOMオブジェクト(のラッパ)をキャストした場合
QueryInterfaceが呼び出されてそのインターフェイスに変換できるかどうかオブジェクト自身に問い合わせる
だから共通型システム的には問題ない暗黙的キャストでもその下のQueryInterfaceで拒否される可能性がある
568デフォルトの名無しさん (ワントンキン MM92-eDvP)
2019/09/09(月) 19:12:21.94ID:ko6k1+RqM 正規表現を教えてください。
先頭一文字は大文字アルファベット、
次の一文字は大文字アルファベットかスペース、
残り五文字が数字、です。
文字数は多すぎても少なすぎてもダメてす。
先頭一文字は大文字アルファベット、
次の一文字は大文字アルファベットかスペース、
残り五文字が数字、です。
文字数は多すぎても少なすぎてもダメてす。
569デフォルトの名無しさん (ワッチョイ 9d17-kyym)
2019/09/09(月) 19:34:55.30ID:N7SL81rE0 [A-Z][A-Z\s]\d{5}
570デフォルトの名無しさん (ワッチョイ 311f-A/9M)
2019/09/09(月) 19:51:19.13ID:P/8qmdeQ0 C#でdxfファイルを読み込んでどんなCADデータかなと表示するにはどんな方法がありますか?
571デフォルトの名無しさん (スププ Sd62-5A7B)
2019/09/09(月) 19:51:40.30ID:+ClizqJ4d >>563
戻り値使わないとエラーでビルドできないと思ったんですが、こんな書き方あるんですね。
戻り値使わないとエラーでビルドできないと思ったんですが、こんな書き方あるんですね。
572デフォルトの名無しさん (ワントンキン MM92-eDvP)
2019/09/09(月) 19:58:03.26ID:ko6k1+RqM573デフォルトの名無しさん (アウアウウー Saa5-1iLS)
2019/09/09(月) 19:58:22.06ID:8qRxx3SUa574デフォルトの名無しさん (スフッ Sd62-qCkd)
2019/09/09(月) 20:38:09.86ID:/GXaCKPOd >>570
自力でレンダリングしてるらしきサンプル見つけた
https://www.codeproject.com/Articles/156522/DXF-Import-NET-Read-and-View-AutoCAD-Format-Files
自力でレンダリングしてるらしきサンプル見つけた
https://www.codeproject.com/Articles/156522/DXF-Import-NET-Read-and-View-AutoCAD-Format-Files
575デフォルトの名無しさん (ワッチョイ adda-GY6g)
2019/09/09(月) 21:02:37.25ID:gB0pdJ5j0 >>570
結構大変。DWGならlibreDWGってライブラリーがある
結構大変。DWGならlibreDWGってライブラリーがある
576デフォルトの名無しさん (スプッッ Sd62-A/9M)
2019/09/10(火) 22:30:01.75ID:/j9k/Fivd577デフォルトの名無しさん (ワッチョイ e207-5A7B)
2019/09/11(水) 00:00:22.11ID:1SzE9pLa0 一般人「ウィンドウ」
キモオタ「フォームがーーー」
キモオタ「フォームがーーー」
578デフォルトの名無しさん (ワッチョイ 8990-uegj)
2019/09/11(水) 18:58:32.68ID:YXyi8nZ+0 フォームってなに?泡?
579デフォルトの名無しさん (ワッチョイ 7ff9-fvJG)
2019/09/12(木) 08:36:47.62ID:XbTCqLqm0 c#は食わず嫌いだったけど使ってみたら案外良かった
使いやすいように改良してるんだな
使いやすいように改良してるんだな
580デフォルトの名無しさん (ワッチョイ 9f01-smom)
2019/09/12(木) 11:25:52.65ID:QIiZhm2T0 コントロールのタイマーの質問なんですが
private void Timer1_Tick(object sender, EventArgs e)
{
MyClass myClass = new MyClass(this);
myClass.//クラスの処理いろいろ
}
こう書くと毎回クラスが初期化されてしまいます
タイマー内で同じクラスのインスタンスを使い続けたい場合どのように書けばいいのでしょか?
private void Timer1_Tick(object sender, EventArgs e)
{
MyClass myClass = new MyClass(this);
myClass.//クラスの処理いろいろ
}
こう書くと毎回クラスが初期化されてしまいます
タイマー内で同じクラスのインスタンスを使い続けたい場合どのように書けばいいのでしょか?
581デフォルトの名無しさん (ワッチョイ ffda-6eqr)
2019/09/12(木) 11:31:00.31ID:AZGZd9Ny0 myClassをメンバ変数にする
582デフォルトの名無しさん (ササクッテロ Sp73-K+Fa)
2019/09/12(木) 11:40:42.95ID:2zGYYD27p myClassなんて再利用性が皆無なネーミングすんなよ。
583デフォルトの名無しさん (アウアウウー Sa63-ErpI)
2019/09/12(木) 11:45:28.48ID:joMf8nOja >>582
説明のための命名だろうよ
説明のための命名だろうよ
584デフォルトの名無しさん (ラクッペ MMe3-pDK+)
2019/09/12(木) 12:10:59.94ID:V+BKjeIEM 発達はコンテキストが想像できないから…
585デフォルトの名無しさん (ワッチョイ 9f22-QgVy)
2019/09/12(木) 13:44:13.80ID:j3ZoG8EK0 >>582
aho
aho
586デフォルトの名無しさん (アウアウウー Sa63-THJG)
2019/09/12(木) 14:02:29.31ID:0aQt/zFJa >>580
タイマーのイベントハンドラを消して、適当なタイミング(例えばFormのLoadイベントとか)で
private void Form1_Load(object sender, EventArgs e)
{
var count = 0;
timer1.Tick += (snd, ea) =>
{
Console.WriteLine($"count = {count++}");
};
}
でもこれだとイベントの購読解除ができないので注意
っていうか、ジョークだから真に受けないでw
タイマーのイベントハンドラを消して、適当なタイミング(例えばFormのLoadイベントとか)で
private void Form1_Load(object sender, EventArgs e)
{
var count = 0;
timer1.Tick += (snd, ea) =>
{
Console.WriteLine($"count = {count++}");
};
}
でもこれだとイベントの購読解除ができないので注意
っていうか、ジョークだから真に受けないでw
587デフォルトの名無しさん (ワッチョイ 9f01-smom)
2019/09/12(木) 20:25:20.03ID:QIiZhm2T0588デフォルトの名無しさん (スップ Sd9f-lwUv)
2019/09/13(金) 14:33:13.49ID:FohQxIv6d >>587
コンストラクタかTickイベント(初回のみ)でTimerのTagプロパティにMyClassインスタンスを設定
senderからTagに設定されているインスタンスを取得して利用するってやり方もある
1タイマー1MyClassって感じの設計ならこっちの方がいいかもね
コンストラクタかTickイベント(初回のみ)でTimerのTagプロパティにMyClassインスタンスを設定
senderからTagに設定されているインスタンスを取得して利用するってやり方もある
1タイマー1MyClassって感じの設計ならこっちの方がいいかもね
589デフォルトの名無しさん (ブーイモ MM0f-x87D)
2019/09/13(金) 16:09:57.39ID:GqasltTgM 再利用性のないクラスの名前に拘り過ぎるのは
効率的に無駄だなと感じる
ライブラリ用のクラスは拘るけどね
効率的に無駄だなと感じる
ライブラリ用のクラスは拘るけどね
590デフォルトの名無しさん (ワッチョイ 9f01-smom)
2019/09/13(金) 17:07:26.51ID:zz4VRjti0591デフォルトの名無しさん (ブーイモ MM0f-x87D)
2019/09/13(金) 17:17:29.19ID:GqasltTgM これでいいじゃない
private MyClass myClass = new MyClass(this);
private void Timer1_Tick(object sender, EventArgs e)
{
myClass.//クラスの処理いろいろ
}
private MyClass myClass = new MyClass(this);
private void Timer1_Tick(object sender, EventArgs e)
{
myClass.//クラスの処理いろいろ
}
592デフォルトの名無しさん (ワッチョイ 9f90-bRiQ)
2019/09/13(金) 17:23:20.15ID:65eTAicb0 マイコラスの嫁がかわいい
593デフォルトの名無しさん (スップ Sd9f-lwUv)
2019/09/13(金) 17:47:41.70ID:FohQxIv6d >>590
コンストラクタで、
Timer1.Tag = new MyClass(this);
イベントで
var myClass = ((Timer)sender).Tag as MyClass;
コンストラクタで作ったインスタンスがTimer1のイベントで使えるようになる
これで理解出来そう?
コンストラクタで、
Timer1.Tag = new MyClass(this);
イベントで
var myClass = ((Timer)sender).Tag as MyClass;
コンストラクタで作ったインスタンスがTimer1のイベントで使えるようになる
これで理解出来そう?
594デフォルトの名無しさん (アウアウウー Sa63-THJG)
2019/09/13(金) 17:49:44.94ID:XXPMNkq8a595デフォルトの名無しさん (スップ Sd9f-lwUv)
2019/09/13(金) 17:59:46.24ID:FohQxIv6d 捕捉でsenderの扱いに馴染みがなくて分かりずらいなら
var myClass = Timer1.Tag as MyClass;
って直接コントロールを見てもいいかな
10個のタイマーでそれぞれクラス作るとかだと、メンバに持つのが嫌になるからそういう時に便利
var myClass = Timer1.Tag as MyClass;
って直接コントロールを見てもいいかな
10個のタイマーでそれぞれクラス作るとかだと、メンバに持つのが嫌になるからそういう時に便利
596デフォルトの名無しさん (ワッチョイ 9f01-smom)
2019/09/13(金) 21:09:16.91ID:zz4VRjti0 >>591
サンクスです、やってみました
//キーワード 'this' は現在のコンテキストでは使用できません。
thisがなければいけるのですが、
>>593
サンクスです、コンストラクタってMyClassでしょか?
Timer1.Tag = new MyClass(this); //thisが受け付けてもらえません
仕方ないのでButton1_Clickに置きました
var myClass = ((Timer)sender).Tag as MyClass; //myClassがNullになります
var myClass = Timer1.Tag as MyClass; //こっちもNullになります
>>594
サンクスです、うまく動きました
でも正直あまり理解できてません
注:理解するのに時間がかかります
サンクスです、やってみました
//キーワード 'this' は現在のコンテキストでは使用できません。
thisがなければいけるのですが、
>>593
サンクスです、コンストラクタってMyClassでしょか?
Timer1.Tag = new MyClass(this); //thisが受け付けてもらえません
仕方ないのでButton1_Clickに置きました
var myClass = ((Timer)sender).Tag as MyClass; //myClassがNullになります
var myClass = Timer1.Tag as MyClass; //こっちもNullになります
>>594
サンクスです、うまく動きました
でも正直あまり理解できてません
注:理解するのに時間がかかります
597デフォルトの名無しさん (ワッチョイ 7f07-h/DA)
2019/09/13(金) 21:48:16.79ID:PFGdVlPv0 windows form で背景色を白から青にジョジョにアニメーションで変化させるには?
今のところコードは下記です。
void timer_Tick(object sender, EventArgs e){
// 白 255,255,255 // 黒 0,0,0
var a = textBox1.BackColor.A;
var r = textBox1.BackColor.R;
var g = textBox1.BackColor.G;
var b = textBox1.BackColor.B;
if (a == 255) { a = 1; }
var a = a + 25;
if (a >= 255) { a = 255; }
var r = textBox1.BackColor.R - 25;
if ( r <= 0) { r = 0; }
var g = textBox1.BackColor.G - 25;
if ( g <= 0 ) { g = 0; }
var b = textBox1.BackColor.B + 25;
if (textBox1.BackColor.B >= 255) { b = 255; }
textBox1.BackColor = Color.FromArgb(a, r, g, b);
// 終了条件チェック、
// 終了処理
}
今のところコードは下記です。
void timer_Tick(object sender, EventArgs e){
// 白 255,255,255 // 黒 0,0,0
var a = textBox1.BackColor.A;
var r = textBox1.BackColor.R;
var g = textBox1.BackColor.G;
var b = textBox1.BackColor.B;
if (a == 255) { a = 1; }
var a = a + 25;
if (a >= 255) { a = 255; }
var r = textBox1.BackColor.R - 25;
if ( r <= 0) { r = 0; }
var g = textBox1.BackColor.G - 25;
if ( g <= 0 ) { g = 0; }
var b = textBox1.BackColor.B + 25;
if (textBox1.BackColor.B >= 255) { b = 255; }
textBox1.BackColor = Color.FromArgb(a, r, g, b);
// 終了条件チェック、
// 終了処理
}
598デフォルトの名無しさん (アウアウウー Sa63-cBLT)
2019/09/13(金) 22:11:07.86ID:YdWi/cYta >>597
int counter = 0;
void timer_Tick(object sender, EventArgs e)
{
counter++;
counter %= 256;
textBox1.BackColor = Color.FromArgb(255 - counter, 255 - counter, 255);
}
int counter = 0;
void timer_Tick(object sender, EventArgs e)
{
counter++;
counter %= 256;
textBox1.BackColor = Color.FromArgb(255 - counter, 255 - counter, 255);
}
599デフォルトの名無しさん (スップ Sd1f-lwUv)
2019/09/13(金) 22:12:15.08ID:Gf0j4OgCd600デフォルトの名無しさん (ワッチョイ 9f01-smom)
2019/09/13(金) 22:27:35.64ID:zz4VRjti0601デフォルトの名無しさん (アウアウウー Sa63-THJG)
2019/09/13(金) 23:44:37.81ID:aO4dryeFa >>597
やってみた
public partial class Form1 : Form
{
private Stopwatch mStopwatch = new Stopwatch();
public Form1()
{
InitializeComponent();
}
private Color BlendColor(Color a, Color b, double pos)
{
Func<int, int, int> blend = (i, j) =>
{
var x = Math.Round((1 - pos) * i + pos * j, 0);
return Math.Min(255, (int)x);
};
var A = blend(a.A, b.A);
var R = blend(a.R, b.R);
var G = blend(a.G, b.G);
var B = blend(a.B, b.B);
return Color.FromArgb(A, R, G, B);
}
やってみた
public partial class Form1 : Form
{
private Stopwatch mStopwatch = new Stopwatch();
public Form1()
{
InitializeComponent();
}
private Color BlendColor(Color a, Color b, double pos)
{
Func<int, int, int> blend = (i, j) =>
{
var x = Math.Round((1 - pos) * i + pos * j, 0);
return Math.Min(255, (int)x);
};
var A = blend(a.A, b.A);
var R = blend(a.R, b.R);
var G = blend(a.G, b.G);
var B = blend(a.B, b.B);
return Color.FromArgb(A, R, G, B);
}
602デフォルトの名無しさん (アウアウウー Sa63-THJG)
2019/09/13(金) 23:44:54.82ID:aO4dryeFa private void button1_Click(object sender, EventArgs e)
{
mStopwatch.Restart();
}
private void timer1_Tick(object sender, EventArgs e)
{
var timeout = 5d;
var elapse = Math.Min(timeout, mStopwatch.ElapsedMilliseconds / 1000d);
var pos = elapse / timeout;
BackColor = BlendColor(Color.White, Color.Blue, pos);
}
}
{
mStopwatch.Restart();
}
private void timer1_Tick(object sender, EventArgs e)
{
var timeout = 5d;
var elapse = Math.Min(timeout, mStopwatch.ElapsedMilliseconds / 1000d);
var pos = elapse / timeout;
BackColor = BlendColor(Color.White, Color.Blue, pos);
}
}
603デフォルトの名無しさん (ワッチョイ ff02-lwUv)
2019/09/14(土) 02:16:18.45ID:BYSNLn3J0 >>600
コンストラクタやフィールドだとthisって使えないんだっけ?
それならこれでいけるかな
Tagの方も同じ感じでいけるはず
private MyClass myClass;
private void Timer1_Tick(object sender, EventArgs e)
{
if(myClass = null)
{myClass = new MyClass(this);}
myClass.//クラスの処理いろいろ
}
コンストラクタやフィールドだとthisって使えないんだっけ?
それならこれでいけるかな
Tagの方も同じ感じでいけるはず
private MyClass myClass;
private void Timer1_Tick(object sender, EventArgs e)
{
if(myClass = null)
{myClass = new MyClass(this);}
myClass.//クラスの処理いろいろ
}
604デフォルトの名無しさん (ワッチョイ 9f01-smom)
2019/09/14(土) 09:11:10.12ID:weYOKlpc0605デフォルトの名無しさん (ワッチョイ 9f24-B34Y)
2019/09/14(土) 11:56:47.95ID:vC+cN/7F0 Action<T>は値型という解釈で良いのでしょうか?
var dic = new Dictionary<int, Action<float>>()という辞書に保持されているActionのメソッドを引いたり足したりしたいのですが、
下記のようにするとdicのvalueには反映されないようですが再度dicに追加してアップデートしないといけないということでしょうか?
var action = dic[1];
action += method; // action.GetInvocationList().Lengthを調べるとちゃんと足されてる一方、dic[1].GetInvocationList().Lengthは変化なし
var dic = new Dictionary<int, Action<float>>()という辞書に保持されているActionのメソッドを引いたり足したりしたいのですが、
下記のようにするとdicのvalueには反映されないようですが再度dicに追加してアップデートしないといけないということでしょうか?
var action = dic[1];
action += method; // action.GetInvocationList().Lengthを調べるとちゃんと足されてる一方、dic[1].GetInvocationList().Lengthは変化なし
606デフォルトの名無しさん (アウアウウー Sa63-4C4c)
2019/09/14(土) 12:17:37.64ID:iAxlaW7xa デリゲートは参照型
action += method は文字通り action = action + method であり、結合後の新しいインスタンスが action に代入される
デリゲート同士の + は String と同様に言語仕様によって特別扱いされており、Delegate.Combine メソッドの呼び出しに変換される
ちなみにイベントに対する += は x.ev = x.ev + method ではなくプロパティと同様にxに対する特殊なメソッド呼び出しになる
作法的な話をすると、デリゲートのマルチキャストは歴史的経緯による遺物であり、イベントハンドラ以外には基本的に使わない方がいいよ
action += method は文字通り action = action + method であり、結合後の新しいインスタンスが action に代入される
デリゲート同士の + は String と同様に言語仕様によって特別扱いされており、Delegate.Combine メソッドの呼び出しに変換される
ちなみにイベントに対する += は x.ev = x.ev + method ではなくプロパティと同様にxに対する特殊なメソッド呼び出しになる
作法的な話をすると、デリゲートのマルチキャストは歴史的経緯による遺物であり、イベントハンドラ以外には基本的に使わない方がいいよ
607デフォルトの名無しさん (ワッチョイ 9f24-B34Y)
2019/09/14(土) 12:37:52.80ID:vC+cN/7F0 なるほど、action += methodは、action = new Action(action + method)的な形ということだったんですね
ありがとうございます
ありがとうございます
608デフォルトの名無しさん (ワッチョイ 7f07-h/DA)
2019/09/14(土) 14:06:14.47ID:nQc/7xFt0 Windows form だとちょっとした色変えるだけのエフェクト書くの大変。
iPhone swift だと 下記みたいな 2行 でかけるのに。
UIView.animate(withDuration: 0.5, delay: 0.0, options:[]
, animations: { TextField.backgroundColor = .blue }
, completion : { _ in TextField.backgroundColor = .white } )
Form のクラスメソッドに色、透明度、位置、回転、大きさとかを変化させるアニメーション系のメソッド追加してほしいね。
iPhone swift だと 下記みたいな 2行 でかけるのに。
UIView.animate(withDuration: 0.5, delay: 0.0, options:[]
, animations: { TextField.backgroundColor = .blue }
, completion : { _ in TextField.backgroundColor = .white } )
Form のクラスメソッドに色、透明度、位置、回転、大きさとかを変化させるアニメーション系のメソッド追加してほしいね。
609デフォルトの名無しさん (ワッチョイ ff1b-zVpc)
2019/09/14(土) 16:27:56.54ID:y7dkXYFS0610デフォルトの名無しさん (アウアウウー Sa63-3FT0)
2019/09/15(日) 11:17:21.32ID:ZbgEJrYza 今でも業務系のASPって、MVCよりWeb formsのほうが多い?
611デフォルトの名無しさん (ワッチョイ ffe3-6eqr)
2019/09/15(日) 11:21:19.74ID:0P7zcb1/0 >>610
多いと言うか更改されずに腫れ物システムとして生き残ってるのが多いよ
多いと言うか更改されずに腫れ物システムとして生き残ってるのが多いよ
612デフォルトの名無しさん (ワッチョイ 7fad-ie7I)
2019/09/15(日) 11:23:22.76ID:qUTb/lfg0 >>610
ASPとASP.NETは違うよ
ASPとASP.NETは違うよ
613デフォルトの名無しさん (エムゾネ FF9f-+dKN)
2019/09/15(日) 14:39:22.86ID:CYqvBFjrF ASP: Application Service Provider
614デフォルトの名無しさん (ワッチョイ 9f22-QgVy)
2019/09/15(日) 17:44:41.18ID:DjqXGTBC0 >>612
aho
aho
615デフォルトの名無しさん (ワッチョイ 9f90-bRiQ)
2019/09/15(日) 17:46:02.32ID:tc+PQ4bB0 アスペルガー
616デフォルトの名無しさん (ワッチョイ 7fad-ie7I)
2019/09/15(日) 18:48:25.55ID:qUTb/lfg0 >>614
お前がな
お前がな
617デフォルトの名無しさん (ワッチョイ ff1b-zVpc)
2019/09/15(日) 19:36:43.99ID:50f2l1H40 application hosting options
618デフォルトの名無しさん (スププ Sd9f-QgVy)
2019/09/15(日) 20:38:22.87ID:IMDj4f3rd >>612
アプリケーションサービスプロバイダ(英語: Application Service Provider、ASP)とは、
アプリケーションソフト等のサービス(機能)をネットワーク経由で提供するプロバイダ(= provide 提供する 事業者・人・仕組み 等全般)のこと[1]。
広義にはこうした仕組みのソフトウェア提供形態やビジネスモデルまでも指す[1]。
https://ja.m.wikipedia.org/wiki/%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%83%97%E3%83%AD%E3%83%90%E3%82%A4%E3%83%80
アプリケーションサービスプロバイダ(英語: Application Service Provider、ASP)とは、
アプリケーションソフト等のサービス(機能)をネットワーク経由で提供するプロバイダ(= provide 提供する 事業者・人・仕組み 等全般)のこと[1]。
広義にはこうした仕組みのソフトウェア提供形態やビジネスモデルまでも指す[1]。
https://ja.m.wikipedia.org/wiki/%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%83%97%E3%83%AD%E3%83%90%E3%82%A4%E3%83%80
619デフォルトの名無しさん (アウアウウー Sa63-3FT0)
2019/09/15(日) 22:04:55.99ID:ZbgEJrYza620デフォルトの名無しさん (ワッチョイ 9f01-u7Yp)
2019/09/15(日) 22:31:35.04ID:007yvQzV0 ACTIVE SELF PROTECTION の求人だったりして
https://activeselfprotection.com/
https://activeselfprotection.com/
621デフォルトの名無しさん (ワッチョイ 7f89-6eqr)
2019/09/16(月) 01:27:46.19ID:2BSu07WM0 Bitmapを返すdllがあります(C#で作成)
それをWinFormsで参照し、Bitmapを受け取りたいのですが、空の?Bitmapが返ってきます。
デバッガでdll側がきちんとBitmapをreturnしているところまでは確認できました。
ほかにどごを見直せばいいでしょうか
それをWinFormsで参照し、Bitmapを受け取りたいのですが、空の?Bitmapが返ってきます。
デバッガでdll側がきちんとBitmapをreturnしているところまでは確認できました。
ほかにどごを見直せばいいでしょうか
622デフォルトの名無しさん (ワッチョイ 7f89-6eqr)
2019/09/16(月) 01:45:47.54ID:2BSu07WM0623デフォルトの名無しさん (ワッチョイ 7fe0-bRiQ)
2019/09/16(月) 10:01:49.86ID:z/LnXMaR0 Process.Start()
で既に起動済みの外部コンソールアプリにコマンドを渡して結果を受け取りたいんですけど
どうすればいいですか?
で既に起動済みの外部コンソールアプリにコマンドを渡して結果を受け取りたいんですけど
どうすればいいですか?
624デフォルトの名無しさん (ワッチョイ 7fad-BCJT)
2019/09/16(月) 10:55:23.20ID:1SVMjj7z0625デフォルトの名無しさん (ワッチョイ 9f01-NvLc)
2019/09/16(月) 11:17:36.58ID:TvwShLRF0 >>623
processをどう作ったか書かないと
processをどう作ったか書かないと
626デフォルトの名無しさん (ワッチョイ 7fe0-bRiQ)
2019/09/16(月) 12:31:59.14ID:z/LnXMaR0 >>625
普通にこんな感じです
Process prc=new Process();
ProcessStartInfo psInfo = new ProcessStartInfo();
psInfo.FileName = "hoge.exe";
psInfo.CreateNoWindow = true;
psInfo.UseShellExecute = false;
prc.StartInfo = psInfo;
prc.Start();
コンソールアプリはすぐに終了せずに待機してくれるタイプです
普通にこんな感じです
Process prc=new Process();
ProcessStartInfo psInfo = new ProcessStartInfo();
psInfo.FileName = "hoge.exe";
psInfo.CreateNoWindow = true;
psInfo.UseShellExecute = false;
prc.StartInfo = psInfo;
prc.Start();
コンソールアプリはすぐに終了せずに待機してくれるタイプです
627デフォルトの名無しさん (ワッチョイ 1f5f-+fUR)
2019/09/16(月) 12:42:54.00ID:yFJZVYWt0 >>626
自分でプロセスを起動してるなら入出力をリダイレクトするだけ
psInfo.RedirectStandardOutput = true
psInfo.RedirectStandardInput = true;
起動後は
proc.StandardInput.WriteLine("hoge");
proc.StandardOutput.ReadToEnd();
proc.WaitForExit();
自分でプロセスを起動してるなら入出力をリダイレクトするだけ
psInfo.RedirectStandardOutput = true
psInfo.RedirectStandardInput = true;
起動後は
proc.StandardInput.WriteLine("hoge");
proc.StandardOutput.ReadToEnd();
proc.WaitForExit();
628デフォルトの名無しさん (ワッチョイ 9f6e-e0wG)
2019/09/17(火) 18:45:14.27ID:4wOD4j6P0 ポリモーフィズムに関しての質問なんですけど
よくある例えでdogクラスのオブジェクトもcatクラスのオブジェクトもまとめてanimalクラスの配列で扱えるみたいなのあるじゃないですか
でも例えばこの時catクラスでだけ定義されてるフィールドがあったとして、配列に格納した途端アクセスできなくなっちゃいませんか
privateとかpublicは置いといて、たとえば、bool isPrettyとか定義されてたとして、animals[0].isprettyは無理じゃないですか。親クラスから子クラスで独自に定義されてるもんは触れられないですよね
とりあえずまとめて親クラスで持っておいて使う時になったら子クラスの情報使いたいみたいなときなんかうまくやる方法ってないもんですかね。
よくある例えでdogクラスのオブジェクトもcatクラスのオブジェクトもまとめてanimalクラスの配列で扱えるみたいなのあるじゃないですか
でも例えばこの時catクラスでだけ定義されてるフィールドがあったとして、配列に格納した途端アクセスできなくなっちゃいませんか
privateとかpublicは置いといて、たとえば、bool isPrettyとか定義されてたとして、animals[0].isprettyは無理じゃないですか。親クラスから子クラスで独自に定義されてるもんは触れられないですよね
とりあえずまとめて親クラスで持っておいて使う時になったら子クラスの情報使いたいみたいなときなんかうまくやる方法ってないもんですかね。
629デフォルトの名無しさん (ワッチョイ 7f79-6eqr)
2019/09/17(火) 18:49:22.91ID:6boldAmf0 C#的にはパターンマッチングで分岐すればそれは可能だが
親クラスが持っていない情報を子クラスが持っている時点でそのクラス設計は疑わしい
その例ならanimalクラスにvirtual bool IsPrettyを持たせるべき
親クラスが持っていない情報を子クラスが持っている時点でそのクラス設計は疑わしい
その例ならanimalクラスにvirtual bool IsPrettyを持たせるべき
630デフォルトの名無しさん (スフッ Sd9f-zVpc)
2019/09/17(火) 18:50:41.39ID:fvAMDErgd そもそも使うものをまとめておくのが親クラスというかインターフェースや抽象クラスの役目なので、持ってるかどうかもわからないisprettyを使いたいのが間違ってる。無理やりやるんならリフレクションで存在確認するしかないよ
631デフォルトの名無しさん (ワッチョイ 7f79-6eqr)
2019/09/17(火) 18:51:12.83ID:6boldAmf0 親クラスが持っていない情報というのは言い過ぎだな
親クラスが持っていないpublicプロパティを子クラスが持っているのは怪しい設計
親クラスが持っていないpublicプロパティを子クラスが持っているのは怪しい設計
632デフォルトの名無しさん (スフッ Sd9f-zVpc)
2019/09/17(火) 18:54:14.01ID:fvAMDErgd 例えばヒゲのプロパティは猫しか持ってないと思うけど、そういう場合は is か as で具象クラスの型を確認してキャストして取ることは出来るけど、それはなんか気持ち悪い気がする
633デフォルトの名無しさん (ワッチョイ 7f79-6eqr)
2019/09/17(火) 19:11:59.16ID:6boldAmf0 全動物のうち猫しかヒゲを持ってないわけじゃあるまいし
Animal型にNullable型のヒゲプロパティを持たせてそれがnullかどうかで処理を分岐させればいいだけでは
Animalクラスがヒゲを持ってるのは唐突過ぎると思うならFaceプロパティでも挟めばいい
Animal型にNullable型のヒゲプロパティを持たせてそれがnullかどうかで処理を分岐させればいいだけでは
Animalクラスがヒゲを持ってるのは唐突過ぎると思うならFaceプロパティでも挟めばいい
634デフォルトの名無しさん (スププ Sd9f-h/DA)
2019/09/17(火) 19:13:48.81ID:189yfApBd >>628
親クラスを無駄なメンバーで膨らませるのはバッドパターン。
インターフェイスを使うべき。
IPrety InterFace を付けたなんらかの型のリストをループすればいい。
// IPrety InterFace で拡張した型ならなんでもループで回せる。
if myUnit.isPrety == true {
myUnit.doSomething();
}
親クラスを無駄なメンバーで膨らませるのはバッドパターン。
インターフェイスを使うべき。
IPrety InterFace を付けたなんらかの型のリストをループすればいい。
// IPrety InterFace で拡張した型ならなんでもループで回せる。
if myUnit.isPrety == true {
myUnit.doSomething();
}
635デフォルトの名無しさん (ワッチョイ 9f01-u7Yp)
2019/09/17(火) 20:02:19.06ID:5qQz1pKl0636デフォルトの名無しさん (ワッチョイ 9f6e-e0wG)
2019/09/17(火) 20:15:43.47ID:4wOD4j6P0 色々勉強になりました
こう共通のメソッドとフィールドがあるからくくりだして親にしようくらいの気持ちだったんですけどぐぐったらそういうのそもそもダメらしいですね
素直に各クラスで同じフィールド定義して継承関係全部なくそうと思います。
こう共通のメソッドとフィールドがあるからくくりだして親にしようくらいの気持ちだったんですけどぐぐったらそういうのそもそもダメらしいですね
素直に各クラスで同じフィールド定義して継承関係全部なくそうと思います。
637デフォルトの名無しさん (ワッチョイ 1f2c-zVpc)
2019/09/17(火) 20:16:03.96ID:mLXav9Fo0 まあそれだったらanimalに純粋仮想メソッド作ってCatにだけ必要な処理書くほうがいいって考えはわかる
638デフォルトの名無しさん (アウアウウー Sa63-IqGl)
2019/09/17(火) 20:45:51.61ID:gcZDzsnLa639デフォルトの名無しさん (ワッチョイ 1f17-6eqr)
2019/09/17(火) 21:13:37.27ID:XDhMjXUv0 .NET Framework の Object クラスを全否定してるじゃんw
640デフォルトの名無しさん (ブーイモ MMc3-x87D)
2019/09/17(火) 21:14:22.17ID:D+I+Wj20M 親クラスが持ってないプロパティを子クラスが持ってるって
.Netですらわんさかあるじゃないの
.Netですらわんさかあるじゃないの
641デフォルトの名無しさん (ブーイモ MMc3-x87D)
2019/09/17(火) 21:15:50.88ID:D+I+Wj20M あ、かぶった
機能を追加するために継承して関数やプロパティを増やすのが
ごく普通の設計じゃね
子クラスの全プロパティを親が網羅してたら使いにくいわ
機能を追加するために継承して関数やプロパティを増やすのが
ごく普通の設計じゃね
子クラスの全プロパティを親が網羅してたら使いにくいわ
642デフォルトの名無しさん (アウアウウー Sa63-4C4c)
2019/09/17(火) 21:42:46.98ID:hXcOzvgxa 機能を追加するための継承は現代的なOOPではあまり積極的には行われないんだよ
現代的なOOPにおいては実装継承は本質的に悪であるとされ、明確なメリットがある場合を除いて基本的に避けるんだよ
端的に言えば、抽象クラスを定義して、明確に拡張ポイントとして用意されたメソッドのみをオーバーライドする、
という使い方が今時の唯一の実装継承の使い方であると理解しておけばマサカリを食らうことはない
機能を追加したいだけなら継承する必要は全くなくて、ただそれぞれのクラスを別個に使うか、包含すりゃいいだけだ
現代的なOOPにおいては実装継承は本質的に悪であるとされ、明確なメリットがある場合を除いて基本的に避けるんだよ
端的に言えば、抽象クラスを定義して、明確に拡張ポイントとして用意されたメソッドのみをオーバーライドする、
という使い方が今時の唯一の実装継承の使い方であると理解しておけばマサカリを食らうことはない
機能を追加したいだけなら継承する必要は全くなくて、ただそれぞれのクラスを別個に使うか、包含すりゃいいだけだ
643デフォルトの名無しさん (アウアウウー Sa63-3FT0)
2019/09/17(火) 21:44:46.02ID:02KenGFka それほんとにその親いる?って感じの実装だったらabstractにするんじゃなくて?
644デフォルトの名無しさん (アウアウウー Sa63-3FT0)
2019/09/17(火) 21:45:27.86ID:02KenGFka あっ被った?
645デフォルトの名無しさん (ワッチョイ ff7b-gAGy)
2019/09/17(火) 23:37:00.02ID:PSgriU0H0646デフォルトの名無しさん (ワッチョイ 9f8f-cC2p)
2019/09/17(火) 23:46:29.64ID:e7oun/vJ0 すみません、初歩的な質問なのですが、クラスやらメソッドやらメンバーやらにアクセシビリティを設定するのは、他の誰かが使用するライブラリーを作成することを想定しているからなのでしょうか?
できるならpublicだらけで作りたいのですがそれがどんな問題に繋がるのかわからずモヤモヤしてます。
できるならpublicだらけで作りたいのですがそれがどんな問題に繋がるのかわからずモヤモヤしてます。
647デフォルトの名無しさん (ワッチョイ 1f61-THnp)
2019/09/17(火) 23:59:21.95ID:rQ8N7dRz0 >>646
問題ない
問題ない
648デフォルトの名無しさん (ワッチョイ 9f6e-e0wG)
2019/09/18(水) 00:04:42.53ID:PFlVcPVS0 >>645
ふーむダウンキャストも絶対やっちゃダメってわけでもないのか
ふーむダウンキャストも絶対やっちゃダメってわけでもないのか
649デフォルトの名無しさん (ワッチョイ 1f63-qukA)
2019/09/18(水) 00:12:27.01ID:o3BZQkX70650デフォルトの名無しさん (ワッチョイ 9f8f-cC2p)
2019/09/18(水) 00:13:40.45ID:MOtnHukC0651デフォルトの名無しさん (ワッチョイ 7f52-ErpI)
2019/09/18(水) 00:46:19.09ID:XJgNYgHy0 >>648
わざわざ言語仕様にダウンキャストがあるのはそれが有用だからで、使っていけないわけではないよ。下手な設計で濫用されるのが非難されるだけで、適切な使い方をする分には問題ない。
理由も説明せずに杓子定規に◯◯は使うななんて書いているサイトがあれば、おそらくその書き手もちゃんと分かってないと疑ってかかった方がいいくらい。
わざわざ言語仕様にダウンキャストがあるのはそれが有用だからで、使っていけないわけではないよ。下手な設計で濫用されるのが非難されるだけで、適切な使い方をする分には問題ない。
理由も説明せずに杓子定規に◯◯は使うななんて書いているサイトがあれば、おそらくその書き手もちゃんと分かってないと疑ってかかった方がいいくらい。
652デフォルトの名無しさん (アウアウウー Sa63-THJG)
2019/09/18(水) 01:18:05.53ID:cuUyZOV2a >>650
普通に考えて問題だから真に受けたらあかんw
外からアクセスする必要がないメンバーがpublicになってるクラスは
滅多に使わない機能のボタンがてんこ盛りのリモコンみたいなもの。
使いたい機能を探すのに不必要な苦労するでしょ
インテリセンスに使いもしないメソッドやプロパティが100とか
表示されるようなクラス使いやすいと思うか?
普通に考えて問題だから真に受けたらあかんw
外からアクセスする必要がないメンバーがpublicになってるクラスは
滅多に使わない機能のボタンがてんこ盛りのリモコンみたいなもの。
使いたい機能を探すのに不必要な苦労するでしょ
インテリセンスに使いもしないメソッドやプロパティが100とか
表示されるようなクラス使いやすいと思うか?
653デフォルトの名無しさん (アウアウウー Sa63-4C4c)
2019/09/18(水) 02:24:45.00ID:haPYpedoa 使いやすさなんて結局はドキュメントの質や命名規約などの高レイヤーの話であって、アクセス制御自体はそれほど重要ではない
メンバをpublicにするということは、そのメンバが利用できることをクラス外に対して約束するということに他ならない
そして、それを後で変更しようとすればクラス外へ波及する破壊的変更となる
将来的な変更の余地を残すために、客に対して不必要な情報公開を避けるという判断は、コーディングに限らずIT業界のビジネスのあらゆるシーンにおいて非常によく行われる
メンバをpublicにするということは、そのメンバが利用できることをクラス外に対して約束するということに他ならない
そして、それを後で変更しようとすればクラス外へ波及する破壊的変更となる
将来的な変更の余地を残すために、客に対して不必要な情報公開を避けるという判断は、コーディングに限らずIT業界のビジネスのあらゆるシーンにおいて非常によく行われる
654デフォルトの名無しさん (アウアウウー Sa63-THJG)
2019/09/18(水) 02:39:11.63ID:cuUyZOV2a そういう議論は為にする議論ってやつだと思うよw
晒すメンバーの数だけ拘束されて自由が減るってのは論理的にはその通りだけど、
現実問題いらないメンバーに故意にアクセスするコードを書くことなんかまずない。
だっていらないんだからw
本質的に重要なのは見えるメンバーの数を減らして複雑性を下げ、生産性を上げること。
時間が一番貴重なんだから
晒すメンバーの数だけ拘束されて自由が減るってのは論理的にはその通りだけど、
現実問題いらないメンバーに故意にアクセスするコードを書くことなんかまずない。
だっていらないんだからw
本質的に重要なのは見えるメンバーの数を減らして複雑性を下げ、生産性を上げること。
時間が一番貴重なんだから
655デフォルトの名無しさん (ワッチョイ 9f6e-e0wG)
2019/09/18(水) 07:50:17.10ID:PFlVcPVS0 何から何までそれこそループ変数までパブリックフィールドにしていろいろなメソッドで使い回すクラスと対峙しているのでなかなか響く話題
辛い
辛い
656デフォルトの名無しさん (アウアウウー Sa63-IqGl)
2019/09/18(水) 07:58:41.43ID:5e31sw6sa >>655
全部書き換えてしまへ
全部書き換えてしまへ
657デフォルトの名無しさん (ワッチョイ 9fda-x87D)
2019/09/18(水) 08:07:10.60ID:n4vg2Vie0 Windowsでbluetooth BLEの心拍計とケイデンスセンサーから
データを取得したいんだけど
どういうコードを書くと取得できるかな?
わかる人いるだろうか
データを取得したいんだけど
どういうコードを書くと取得できるかな?
わかる人いるだろうか
658デフォルトの名無しさん (ワッチョイ 1f63-qukA)
2019/09/18(水) 08:24:07.29ID:o3BZQkX70 デバイスのAPI仕様書読め
659デフォルトの名無しさん (ファミワイ FFc3-XoCL)
2019/09/18(水) 14:09:46.88ID:uVuJujwEF Process.Startにディレクトリを渡すとエクスプローラで開いてくれるけど、同じことをスマホなどMTP接続されたデバイスのフォルダでやりたいのですが
エクスプローラでスマホのフォルダを開いた時のウインドウタイトル(PCデバイス名〜)を渡してもエラーになります。
ProcessでMTPのフォルダを開くことは出来るでしょうか?
エクスプローラでスマホのフォルダを開いた時のウインドウタイトル(PCデバイス名〜)を渡してもエラーになります。
ProcessでMTPのフォルダを開くことは出来るでしょうか?
660デフォルトの名無しさん (アウアウウー Sa63-THJG)
2019/09/18(水) 14:50:14.61ID:9K+6bCRKa661デフォルトの名無しさん (ワッチョイ 9fda-x87D)
2019/09/18(水) 15:08:01.73ID:n4vg2Vie0 スマホの場合、標準のエクスプローラに相当するものがないから
ひらけないんじゃね?
ひらけないんじゃね?
662デフォルトの名無しさん (ワッチョイ 9fda-x87D)
2019/09/18(水) 15:11:26.73ID:n4vg2Vie0 ああごめん、スマホをデバイスとしてPCに刺してる場合ね
ファイル名を指定して実行でアドレスを入れて開けないなら
ファイルパスが認識できていないのかもしれない
エクスプローラのexeにパスを引数で渡して起動するよりないんじゃね
ファイル名を指定して実行でアドレスを入れて開けないなら
ファイルパスが認識できていないのかもしれない
エクスプローラのexeにパスを引数で渡して起動するよりないんじゃね
663デフォルトの名無しさん (ワッチョイ 1f61-bRiQ)
2019/09/18(水) 17:08:55.83ID:8TRa6KIP0 エクスプローラーはMTPを通常のフォルダと変わらないように見せかけてるだけ
自分でアクセスするにはそれ用のAPIを使う必要がある
自分でアクセスするにはそれ用のAPIを使う必要がある
664デフォルトの名無しさん (アウアウエー Sa0a-o9zd)
2019/09/19(木) 00:42:07.12ID:d/lXkOqta 質問です
VisualStudioとかUnityってメモリ4GBのノートパソコンでも動きます?
それともゲーミングノート買った方が良い?
VisualStudioとかUnityってメモリ4GBのノートパソコンでも動きます?
それともゲーミングノート買った方が良い?
665デフォルトの名無しさん (ブーイモ MMf6-7ma+)
2019/09/19(木) 00:43:51.43ID:bue4KA2uM 動かなくは無いかな
重いかどうかはやるのが早いんじゃない?
速度に不満で長く続けられそうなら
新しいのを買えばいいんじゃないの
重いかどうかはやるのが早いんじゃない?
速度に不満で長く続けられそうなら
新しいのを買えばいいんじゃないの
666デフォルトの名無しさん (アウアウエー Sa0a-o9zd)
2019/09/19(木) 01:05:46.17ID:d/lXkOqta >>665
ありがとうございます
ありがとうございます
667デフォルトの名無しさん (スフッ Sd22-vIUH)
2019/09/19(木) 01:08:28.00ID:+/h2Zlffd そふとうぇあなど実態のないデジタルデータを売ってお金をだまし取るのは詐欺なのでは?
668デフォルトの名無しさん (ワッチョイ 4d63-WGWF)
2019/09/19(木) 03:08:03.44ID:VsuqkEyW0 何を売ろうが騙し取れば詐欺だろw
669デフォルトの名無しさん (ワッチョイ 46de-YXlV)
2019/09/19(木) 07:20:07.81ID:2k5+XP3O0 文字列を検索して文字数と行数を同時に取得する方法はないでしょうか?
VisualStudioのフォルダ検索みたいにヒットした行の行数と内容を表示して
ダブルクリックで該当ファイルを表示→選択箇所へジャンプとかやりたいです
VisualStudioのフォルダ検索みたいにヒットした行の行数と内容を表示して
ダブルクリックで該当ファイルを表示→選択箇所へジャンプとかやりたいです
670デフォルトの名無しさん (ワッチョイ 7901-QRiv)
2019/09/19(木) 09:52:48.59ID:AAQe7fcf0 文字列探索の要件が判らないとエスパー回答になるな
C#ならではの方法としては、オブジェクトのハッシュコードを照合するという
方法もあるね
C#ならではの方法としては、オブジェクトのハッシュコードを照合するという
方法もあるね
671デフォルトの名無しさん (ワッチョイ 1124-jgJV)
2019/09/19(木) 10:34:03.67ID:2Fbpp9uL0 文字数はstring.Lengthで良いのでは?
行数はそのstringをforして1charづつ改行charなら++して数えていくとか
行数はそのstringをforして1charづつ改行charなら++して数えていくとか
672デフォルトの名無しさん (スフッ Sd22-ogD4)
2019/09/19(木) 12:14:01.52ID:EhHD1H1Td File.ReadAllLineで全部とるか、メモリ上なら改行コードでsplitして配列の添字を取ればいいじゃない
673デフォルトの名無しさん (ワッチョイ a9de-YXlV)
2019/09/19(木) 12:29:35.89ID:+/YZqQed0 >>672
その場合、テキストボックスでフォーカスを当てるための文字数って地道にカウントしてくしかないっすよね?
その場合、テキストボックスでフォーカスを当てるための文字数って地道にカウントしてくしかないっすよね?
674デフォルトの名無しさん (ワッチョイ b188-wC8D)
2019/09/19(木) 12:31:08.07ID:VB98Oc2p0675デフォルトの名無しさん (ワッチョイ 4dde-YXlV)
2019/09/19(木) 13:00:06.50ID:cKzRnh020 >>674
なるほど
地道にやってんすね
やってみた感じ
文字数から行数出した方が楽だったのと
検索しながらは検索文字列に改行コード入ると面倒だったので
@検索文字列のヒットした文字数を出す
A文字数に対する行数を出す
の順でやりました
ありがとう御座いました
なるほど
地道にやってんすね
やってみた感じ
文字数から行数出した方が楽だったのと
検索しながらは検索文字列に改行コード入ると面倒だったので
@検索文字列のヒットした文字数を出す
A文字数に対する行数を出す
の順でやりました
ありがとう御座いました
676デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/19(木) 14:17:59.08ID:R2S0qhpOa 何言ってるのかよく分からんかったけど、
文字数 ⇒ 一致部分の最初の文字のインデックス
行数 ⇒ 一致部分の行の行番号
ってことかw
数え方の問題があるからだろうけど、Stringには一致箇所の数をカウントする
メソッドは存在しないんだね。
文字数 ⇒ 一致部分の最初の文字のインデックス
行数 ⇒ 一致部分の行の行番号
ってことかw
数え方の問題があるからだろうけど、Stringには一致箇所の数をカウントする
メソッドは存在しないんだね。
677デフォルトの名無しさん (ワッチョイ 11da-7ma+)
2019/09/19(木) 14:45:37.14ID:6IKimtYb0 検索一致箇所までの文字列を切り出して
改行でspritして要素数から行を得るというのはどうかな
折り返しは考慮されないけどね
あとtextboxなら折り返し込みで
文字インデックスから行に変換する
メソッドがあった気がする
改行でspritして要素数から行を得るというのはどうかな
折り返しは考慮されないけどね
あとtextboxなら折り返し込みで
文字インデックスから行に変換する
メソッドがあった気がする
678デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/19(木) 14:58:17.90ID:R2S0qhpOa 検索される文字列が巨大だった場合Splitはさすがに富豪的過ぎるでしょ。
RegexかString.IndexOfでベタにやった方が
RegexかString.IndexOfでベタにやった方が
679デフォルトの名無しさん (ワッチョイ b188-wC8D)
2019/09/19(木) 15:15:08.89ID:VB98Oc2p0 文字数多いとsplitはパフォーマンス辛い可能性があるね
regexもそれなりに…
パーサー的なものなら頭から逐次処理するのが一番だったりするし
regexもそれなりに…
パーサー的なものなら頭から逐次処理するのが一番だったりするし
680デフォルトの名無しさん (ワッチョイ 11da-7ma+)
2019/09/19(木) 15:41:06.68ID:6IKimtYb0 ググったらreplaceを使ってlengthの差で求める方法があったけど
これも一時的にメモリ上で二重化されるから
巨大なログファイルとかだとあまりいい方法ではないな
IndexOfの検索結果を次の検索開始インデックスにしながら
カウントするのが一番楽で無駄がなさそうだ
これも一時的にメモリ上で二重化されるから
巨大なログファイルとかだとあまりいい方法ではないな
IndexOfの検索結果を次の検索開始インデックスにしながら
カウントするのが一番楽で無駄がなさそうだ
681659 (ワッチョイ 6ed8-U1xq)
2019/09/19(木) 21:16:22.29ID:sYHr9xpc0 自己解決
MTPデバイスへのショートカット(.lnk)をメモ帳で開くと見えるリンク先
(こんなの→"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\\?\usb#vid_12d1&pid_1031&mi_00#7&22311cc4&0&0000#{6fa27828-a61a-4555-ba33-f28f495d4f31}")
をProcess->Start()にそのまま突っ込んだら、エクスプローラが起動してMTPデバイスを開いてくれました。
ちなみに、テキストの末尾に(〜5d4f31}\内部ストレージ\Android")というようにディレクトリを追加すれば、そのフォルダを開いてくれます。
MTPデバイスへのショートカット(.lnk)をメモ帳で開くと見えるリンク先
(こんなの→"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\\?\usb#vid_12d1&pid_1031&mi_00#7&22311cc4&0&0000#{6fa27828-a61a-4555-ba33-f28f495d4f31}")
をProcess->Start()にそのまま突っ込んだら、エクスプローラが起動してMTPデバイスを開いてくれました。
ちなみに、テキストの末尾に(〜5d4f31}\内部ストレージ\Android")というようにディレクトリを追加すれば、そのフォルダを開いてくれます。
682デフォルトの名無しさん (ワッチョイ c95f-ACnl)
2019/09/20(金) 00:06:22.05ID:Z+Dr4fZe0 private class Parameter
{
public DateTime setTime { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string address { get; set; }
public int sex { get; set; }
}
↑のParameterのListデータで
setTime,Name,Ageが重複している情報を取得と排除したいんですがループでチェックするのは時間がかかりすぎるので
簡単で早く処理できる方法はないでしょうか?
{
public DateTime setTime { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string address { get; set; }
public int sex { get; set; }
}
↑のParameterのListデータで
setTime,Name,Ageが重複している情報を取得と排除したいんですがループでチェックするのは時間がかかりすぎるので
簡単で早く処理できる方法はないでしょうか?
683デフォルトの名無しさん (ワッチョイ 0279-Ms+D)
2019/09/20(金) 00:15:35.18ID:JBznBYO/0 Parameter.Equals() をオーバーライドして
用意した HashSet<Parameter> foreach で Add() を呼ぶ
用意した HashSet<Parameter> foreach で Add() を呼ぶ
684デフォルトの名無しさん (ワッチョイ 217b-qZEh)
2019/09/20(金) 00:15:52.99ID:MWgaILTA0 >>682
個々の要素参照するんだからループするしか無いんじゃないの
あらかじめどこか他にデータ持っているのならともかく
簡単にというのなら参照したデータをList<T>に入れていけばList<T>.Containsでチェックできる
個々の要素参照するんだからループするしか無いんじゃないの
あらかじめどこか他にデータ持っているのならともかく
簡単にというのなら参照したデータをList<T>に入れていけばList<T>.Containsでチェックできる
685デフォルトの名無しさん (ワッチョイ 0279-Ms+D)
2019/09/20(金) 00:17:07.07ID:JBznBYO/0 なんか色々おかしかった
↓正
Equals() をオーバーライドして
用意した HashSet<Parameter> に対して foreach で Add() すればよい
↓正
Equals() をオーバーライドして
用意した HashSet<Parameter> に対して foreach で Add() すればよい
686デフォルトの名無しさん (アウアウウー Sa85-9Tgq)
2019/09/20(金) 00:20:11.39ID:H/0RNa6Fa >>682
普通のListで「全要素について、別の要素と重複があるか」をチェックしようとしたらO(N^2)になるから
効率よくしたいならHashSetを使うといい
ただEquals()とGetHashCode()を適切に(今回の場合、setTime, Name, Ageだけで決まるように)実装する必要がある
普通のListで「全要素について、別の要素と重複があるか」をチェックしようとしたらO(N^2)になるから
効率よくしたいならHashSetを使うといい
ただEquals()とGetHashCode()を適切に(今回の場合、setTime, Name, Ageだけで決まるように)実装する必要がある
687デフォルトの名無しさん (ワッチョイ 0279-Ms+D)
2019/09/20(金) 00:21:51.81ID:JBznBYO/0688デフォルトの名無しさん (ワッチョイ c95f-ACnl)
2019/09/20(金) 00:32:56.51ID:Z+Dr4fZe0 まだ試してないけどHashSetってことはsetTime, Name, Ageだけのチェックにはならないのかな
setTime, Name, AgeがDBのキーになる予定なので無理そうな気が
setTime, Name, AgeがDBのキーになる予定なので無理そうな気が
689デフォルトの名無しさん (ワッチョイ 5d2c-I4i6)
2019/09/20(金) 00:33:33.46ID:73yDKPmS0 Reference Source で実装みればええやん
GetHashCode と ICompare 指定しなければ Default の Equals の両方やね
GetHashCode と ICompare 指定しなければ Default の Equals の両方やね
690デフォルトの名無しさん (アウアウウー Sa85-9Tgq)
2019/09/20(金) 00:34:05.25ID:H/0RNa6Fa >>687
Microsoft Docs見てきたが明言はされてないのか……ただ
https://docs.microsoft.com/en-us/dotnet/api/system.object.gethashcode ではDictionaryなどで使われるとあって
https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.hashset-1 ではDictionaryのKeyアクセスと同様のハイパフォーマンス集合操作を提供、とあるから
HashSetで扱う型についてもGetHashCode()の実装は必要なはず
Microsoft Docs見てきたが明言はされてないのか……ただ
https://docs.microsoft.com/en-us/dotnet/api/system.object.gethashcode ではDictionaryなどで使われるとあって
https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.hashset-1 ではDictionaryのKeyアクセスと同様のハイパフォーマンス集合操作を提供、とあるから
HashSetで扱う型についてもGetHashCode()の実装は必要なはず
691デフォルトの名無しさん (アウアウウー Sa85-TrZH)
2019/09/20(金) 00:41:13.96ID:WJxc7oYHa >>689
質問の感じから今現在自分で実装したものがあるんでしょ?それを載せたほうが微妙な解釈の違いに対しても最適解が出してもらえそうな気がするけど
質問の感じから今現在自分で実装したものがあるんでしょ?それを載せたほうが微妙な解釈の違いに対しても最適解が出してもらえそうな気がするけど
692デフォルトの名無しさん (ワッチョイ 0279-Ms+D)
2019/09/20(金) 00:57:02.51ID:JBznBYO/0 キーの重複は
GetHashCode() の一致 → Equals()
みたいだな
GetHashCode() は重複しにくいメンバの GetHashCode() で
Equals() で完全一致の判定をすれば大丈夫そう
GetHashCode() の一致 → Equals()
みたいだな
GetHashCode() は重複しにくいメンバの GetHashCode() で
Equals() で完全一致の判定をすれば大丈夫そう
693デフォルトの名無しさん (ワッチョイ c95f-ACnl)
2019/09/20(金) 00:58:18.71ID:Z+Dr4fZe0 あるサイトを参考にしてみたのが
private class Parameter
{
public DateTime setTime { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string address { get; set; }
public int sex { get; set; }
}
private class ParameterDistinct : IEqualityComparer<Parameter>
{
public bool Equals(Parameter i_lhs, Parameter i_rhs)
{
if (i_lhs.setTime == i_rhs.setTime && i_lhs.Name == i_rhs.Name && i_lhs.Age == i_rhs.Age)
{
return true;
}
return false;
}
public int GetHashCode(Parameter i_obj)
{
return i_obj.setTime.GetHashCode() ^ i_obj.Name.GetHashCode() ^ i_obj.Age;
}
}
private class Parameter
{
public DateTime setTime { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string address { get; set; }
public int sex { get; set; }
}
private class ParameterDistinct : IEqualityComparer<Parameter>
{
public bool Equals(Parameter i_lhs, Parameter i_rhs)
{
if (i_lhs.setTime == i_rhs.setTime && i_lhs.Name == i_rhs.Name && i_lhs.Age == i_rhs.Age)
{
return true;
}
return false;
}
public int GetHashCode(Parameter i_obj)
{
return i_obj.setTime.GetHashCode() ^ i_obj.Name.GetHashCode() ^ i_obj.Age;
}
}
694デフォルトの名無しさん (ワッチョイ c95f-ACnl)
2019/09/20(金) 01:02:47.93ID:Z+Dr4fZe0 //データ追加
var ParameterList = new List<Parameter>();
//重複排除
ParameterDistinct qualityComparer = new ParameterDistinct();
IEnumerable<Parameter> ParameterLister = ParameterList.Distinct(qualityComparer);
でやってみたんだけど重複がでたんだけど何かまずいだろうか
参考にしたところはDatetimeは使っていなかったので駄目なのかな
var ParameterList = new List<Parameter>();
//重複排除
ParameterDistinct qualityComparer = new ParameterDistinct();
IEnumerable<Parameter> ParameterLister = ParameterList.Distinct(qualityComparer);
でやってみたんだけど重複がでたんだけど何かまずいだろうか
参考にしたところはDatetimeは使っていなかったので駄目なのかな
695デフォルトの名無しさん (ワッチョイ 5d2c-I4i6)
2019/09/20(金) 01:09:28.14ID:73yDKPmS0 DateTime をつめるときに DateTime.Now とか使ってると ミリ秒で差がでてるかもしれない。
DateTime を == で比較すると 内部的には DateTime.Tick 同士で比較するから
DateTime を == で比較すると 内部的には DateTime.Tick 同士で比較するから
696デフォルトの名無しさん (ワッチョイ c95f-ACnl)
2019/09/20(金) 01:21:43.10ID:Z+Dr4fZe0 なるほどDateTime.Nowは使っているので調べてみます。
ありがとうございました!
ありがとうございました!
697デフォルトの名無しさん (ワッチョイ 0279-McVF)
2019/09/20(金) 01:31:14.65ID:v9n6qqFa0 なんで単なる取得でメモリ使うんだよ
unsafeかなんか付けて昔ながらの方法でやるのが一番速い
unsafeかなんか付けて昔ながらの方法でやるのが一番速い
698デフォルトの名無しさん (ワッチョイ 0279-Ms+D)
2019/09/20(金) 01:35:53.41ID:JBznBYO/0 ライブラリ作ってるわけでもないのにunsafeとか論外なんだが
その上unsafe付けてやることが2重ループでの完全一致検索とかじゃ
どうせHashSetのパフォーマンスに大敗する
その上unsafe付けてやることが2重ループでの完全一致検索とかじゃ
どうせHashSetのパフォーマンスに大敗する
699デフォルトの名無しさん (ワッチョイ 6922-2lm7)
2019/09/20(金) 02:27:15.79ID:pTVI5tHY0 NGID:JBznBYO/0
700デフォルトの名無しさん (ワッチョイ aeda-Ms+D)
2019/09/20(金) 11:53:09.00ID:URFVhEsV0 git使わずに、自宅のデスクトップ環境とノートPCのプロジェクトファイル類を同期させたいです。
現在Onedrive使ってますが、binやobj配下まで同期されるのが残念な感じ。
binやobjの出力先はWPFプロジェクトなら変更できましたが、ASP.NET coreプロジェクトでどう変更するのか不明
VSTSで上記を実現または他の方法あったりしますか?
ちなみに現在はVS pro サブスクリプションに入ってます
現在Onedrive使ってますが、binやobj配下まで同期されるのが残念な感じ。
binやobjの出力先はWPFプロジェクトなら変更できましたが、ASP.NET coreプロジェクトでどう変更するのか不明
VSTSで上記を実現または他の方法あったりしますか?
ちなみに現在はVS pro サブスクリプションに入ってます
701デフォルトの名無しさん (ササクッテロ Sp51-EbW7)
2019/09/20(金) 12:00:15.35ID:Ew/p9Snjp Microsoftの開発ソフト使ってんならOneDrive使えるだろ?
702デフォルトの名無しさん (ササクッテロ Sp51-EbW7)
2019/09/20(金) 12:02:00.53ID:Ew/p9Snjp 最後にcleanすりゃいいだけだから。
もしくは同期ドライブ直接はコンパイルしないとかな。
もしくは同期ドライブ直接はコンパイルしないとかな。
703デフォルトの名無しさん (スッップ Sd22-wC8D)
2019/09/20(金) 12:02:42.34ID:bfuJBtmYd svnを使う
onedrive以外の場所で開発してonedriveフォルダに必要なファイルを同期ツールとかでローカルコピーするようにする
なんでonedriveはokでgitがngなのかがわからんと提示しづらい
onedrive以外の場所で開発してonedriveフォルダに必要なファイルを同期ツールとかでローカルコピーするようにする
なんでonedriveはokでgitがngなのかがわからんと提示しづらい
704デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/20(金) 12:48:37.25ID:uLmjcKMSa OneDriveって特定のフォルダだけ同期しない設定にできないのか
6,7年前にオンラインストレージが流行った時には
タダで大容量で高機能のがいっぱいあったのになんだか退化してるよねw
6,7年前にオンラインストレージが流行った時には
タダで大容量で高機能のがいっぱいあったのになんだか退化してるよねw
705デフォルトの名無しさん (ワッチョイ 4605-Mu6I)
2019/09/20(金) 12:56:56.83ID:uH7l3KIr0 labelの文字列の一部を太文字にしたり色を変えたりといった表現をしたいのですが
何か良い方法はないでしょうか?
コントロールではなくメインプログラムのほうで操作できるようにしたいです
labelと同じ見た目ならなんでもよいです
textboxの様な感じではなくlabelのような感じが目標です
何か良い方法はないでしょうか?
コントロールではなくメインプログラムのほうで操作できるようにしたいです
labelと同じ見た目ならなんでもよいです
textboxの様な感じではなくlabelのような感じが目標です
706デフォルトの名無しさん (ワッチョイ fe7c-plfC)
2019/09/20(金) 13:13:16.41ID:WW0nVoDA0 のような感じと言われてもどういうのがNGでどういうのがOKなのかよく分からんが
手軽なのはRichTextBoxを使うことで
そうでなければPaintイベントで全部自前描画ということになる
手軽なのはRichTextBoxを使うことで
そうでなければPaintイベントで全部自前描画ということになる
707デフォルトの名無しさん (スププ Sd22-J2vi)
2019/09/20(金) 14:28:02.26ID:9RWO75b+d >>700
ちと面倒だけど、ブランチとか使えるのが便利だから、サーバ立てるまでOneDriveのフォルダ上にgitのリポジトリ作ってた事がある。
OneDrive内の任意のフォルダの中でgit init --bareするだけ。
したら、そのフォルダをremoteとして登録出来る。
あとは任意のタイミングでpush/pullするだけ。
作業フォルダをOneDrive内に置いて自動的に同期もやったけど、objとかが共有される問題よりも、同時に開いて悲惨なことになる事があったので、今はしてない。
(競合したら「もとのファイル名-端末名」ってファイルが大量にできる)
ちと面倒だけど、ブランチとか使えるのが便利だから、サーバ立てるまでOneDriveのフォルダ上にgitのリポジトリ作ってた事がある。
OneDrive内の任意のフォルダの中でgit init --bareするだけ。
したら、そのフォルダをremoteとして登録出来る。
あとは任意のタイミングでpush/pullするだけ。
作業フォルダをOneDrive内に置いて自動的に同期もやったけど、objとかが共有される問題よりも、同時に開いて悲惨なことになる事があったので、今はしてない。
(競合したら「もとのファイル名-端末名」ってファイルが大量にできる)
708デフォルトの名無しさん (ワッチョイ b188-wC8D)
2019/09/20(金) 15:01:20.41ID:riKFjdTV0 ああ、確かにリポジトリをonedriveに入れるのが一番スマートかも
昔dropboxにsvnリポジトリ作ってたことあるわ
昔dropboxにsvnリポジトリ作ってたことあるわ
709デフォルトの名無しさん (ワッチョイ 6990-jgJV)
2019/09/20(金) 17:01:09.25ID:9F0x+J+E0 メモリ消費は税のようなもの
しょとくだけに
消費だけに
しょとくだけに
消費だけに
710デフォルトの名無しさん (ワッチョイ a207-vIUH)
2019/09/20(金) 19:34:13.48ID:dvP1e2Mn0 環境はWindows formアプリです。
TableLayoutPanel と DataGridView の使い分け方がわかりません。
datasource property の有無だけ?
TableLayoutPanel と DataGridView の使い分け方がわかりません。
datasource property の有無だけ?
711デフォルトの名無しさん (ワッチョイ 6e7b-25Vu)
2019/09/20(金) 19:53:22.57ID:+tHFIfxx0 >>705
自分で描画するのはメソッド作るのも指定するのもめんどくさいよ
https://dobon.net/vb/dotnet/graphics/measurestring.html#section1
>>706の言う通りRichTextBoxをBorderStyle.Noneにして背景色を合わせた方が楽じゃないかな
どうしても文字以外を透過させたいとかならともかく
>>710
HTMLのテーブルとExcelの表が同じに見えるのならそうかもね
自分で描画するのはメソッド作るのも指定するのもめんどくさいよ
https://dobon.net/vb/dotnet/graphics/measurestring.html#section1
>>706の言う通りRichTextBoxをBorderStyle.Noneにして背景色を合わせた方が楽じゃないかな
どうしても文字以外を透過させたいとかならともかく
>>710
HTMLのテーブルとExcelの表が同じに見えるのならそうかもね
712デフォルトの名無しさん (ワッチョイ c245-Iqd1)
2019/09/21(土) 10:00:25.29ID:DmWWMvK20 コンソールアプリが作れればいいやと思ってpaizaでシコシコ勉強してますが他にどんなことすればいいですか?
目標は外部のファイルを読み込んでコンバートするアプリを作ることです。
目標は外部のファイルを読み込んでコンバートするアプリを作ることです。
713デフォルトの名無しさん (ワッチョイ 0279-Ms+D)
2019/09/21(土) 10:08:45.30ID:ZhDsxJHf0 外部のファイルを読み込んでコンバートするアプリを作ればよいのでは?
そんなに難しくないよ
何をどうコンバートするかにはよるかもしれないけど
そんなに難しくないよ
何をどうコンバートするかにはよるかもしれないけど
714デフォルトの名無しさん (アウアウエー Sa0a-o9zd)
2019/09/21(土) 11:05:31.91ID:wLZyePcca プログラミング未経験者です
すいません、ちょっと趣旨から外れるかもしれませんが質問です
電気(強電)、計測(コンビナートとかのプラント計装)の知識ってC#で活かせますか?
C#の求人や書籍を検索すると、電気回路の制御ソフトとか計測器制御とかがヒットするので気になって質問させていただきました
すいません、ちょっと趣旨から外れるかもしれませんが質問です
電気(強電)、計測(コンビナートとかのプラント計装)の知識ってC#で活かせますか?
C#の求人や書籍を検索すると、電気回路の制御ソフトとか計測器制御とかがヒットするので気になって質問させていただきました
715デフォルトの名無しさん (ワッチョイ c245-Iqd1)
2019/09/21(土) 11:05:33.11ID:DmWWMvK20 SQLもどき文をパース?して出力したいです
716デフォルトの名無しさん (アウアウウー Sa85-TrZH)
2019/09/21(土) 11:42:35.85ID:uzyGV4kra >>714
FAの制御系だったら測定器やPLCとの通信がメインになるからそれなりに知識あったほうがいいとは思うよ
FAの制御系だったら測定器やPLCとの通信がメインになるからそれなりに知識あったほうがいいとは思うよ
717デフォルトの名無しさん (アウアウエー Sa0a-o9zd)
2019/09/21(土) 12:00:01.02ID:wLZyePcca >>716
ありがとうございますm(_ _)m
ありがとうございますm(_ _)m
718デフォルトの名無しさん (ワッチョイ fd17-Ms+D)
2019/09/21(土) 13:30:42.97ID:ox/L2PXG0719デフォルトの名無しさん (ドコグロ MM89-+KEk)
2019/09/21(土) 13:39:06.70ID:cHmpI1M9M720デフォルトの名無しさん (ワッチョイ 7901-QRiv)
2019/09/21(土) 14:11:59.87ID:gZFDeRYs0 オライリーのlex & yacc がsqlのパースの
サンプルだったけど
C#は対応していないかと
サンプルだったけど
C#は対応していないかと
721デフォルトの名無しさん (ワッチョイ ae2d-Z796)
2019/09/21(土) 14:57:58.99ID:8edEcM0R0 すまんが、スレッドを指定して実行ってできないもんなの?
指定できればロックが必要な箇所が減っていい気がするんだけど・・・・どうなんだろう
指定できればロックが必要な箇所が減っていい気がするんだけど・・・・どうなんだろう
722デフォルトの名無しさん (ワッチョイ 7901-QRiv)
2019/09/21(土) 15:03:52.53ID:gZFDeRYs0 スレッド起動しないかWaitしておけば、
良いんじゃね
良いんじゃね
723デフォルトの名無しさん (アウアウウー Sa85-9Tgq)
2019/09/21(土) 15:21:35.32ID:Ef6g+Zfma724デフォルトの名無しさん (ワッチョイ 1124-JE5y)
2019/09/21(土) 15:59:40.26ID:3kDOCDXv0 Dllimortで呼び出す関数の引数にはジェネリックは使えないのでしょうか?
725デフォルトの名無しさん (ワッチョイ 4d63-WGWF)
2019/09/21(土) 17:32:33.11ID:CRAyGleP0 使えない
726デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/21(土) 17:41:38.79ID:dMKiDHPTa727デフォルトの名無しさん (アウアウウー Sa85-+KEk)
2019/09/21(土) 17:50:18.96ID:GoVsp8loa >>726
.NETのジェネリックは実行時に特殊化されるから、技術的にはそんなに無茶な話ではないよ
.NETのジェネリックは実行時に特殊化されるから、技術的にはそんなに無茶な話ではないよ
728デフォルトの名無しさん (ワッチョイ 4d0c-Ms+D)
2019/09/21(土) 17:57:47.91ID:rw4WtgZd0 まあどのみち今のところできないから、いんぽ関数自体はIntPtrで受け取って
Marshal.PtrToStructureとかでごにょごにょするジェネリック関数でラップする感じでやるしかないね
SystemParametersInfoとかでそういう欲求があること自体はわかる
Marshal.PtrToStructureとかでごにょごにょするジェネリック関数でラップする感じでやるしかないね
SystemParametersInfoとかでそういう欲求があること自体はわかる
729デフォルトの名無しさん (ワッチョイ fd17-Ms+D)
2019/09/21(土) 17:59:11.73ID:ox/L2PXG0 >>727
それじゃ質問者に回答してやってくれ
それじゃ質問者に回答してやってくれ
730デフォルトの名無しさん (アウアウウー Sa85-+KEk)
2019/09/21(土) 18:12:58.46ID:GoVsp8loa731デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/21(土) 18:32:15.65ID:dMKiDHPTa 十分突飛だと思いますけどね。
これ、アンマネージドに限らない。
マネージドだろうが、他のアセンブリで既に定義されてる
非ジェネリックなstaticメソッドをジェネリック化したいと言ってるのと同じ。
だから、呼ばれた側は何すりゃいいんだよw
これ、アンマネージドに限らない。
マネージドだろうが、他のアセンブリで既に定義されてる
非ジェネリックなstaticメソッドをジェネリック化したいと言ってるのと同じ。
だから、呼ばれた側は何すりゃいいんだよw
732デフォルトの名無しさん (アウアウウー Sa85-+KEk)
2019/09/21(土) 18:43:55.34ID:GoVsp8loa >>731
CのAPIだと、サイズが同一の異なる型を一緒に扱ったり、条件に応じてポインタの指す型の解釈を変えたりとか珍しくないでしょ
CのAPIだと、サイズが同一の異なる型を一緒に扱ったり、条件に応じてポインタの指す型の解釈を変えたりとか珍しくないでしょ
733デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/21(土) 18:44:55.69ID:dMKiDHPTa734デフォルトの名無しさん (ワッチョイ 1124-JE5y)
2019/09/21(土) 18:46:58.39ID:3kDOCDXv0 >>726
具体的にはLPVOID引数で自己責任ながら参照型からref、outやintなどの値渡しまで色々な型のオーバーロードを作って実際にちゃんと機能しています
なので一々オーバーロードとそのラップだけで30行ほど使ってしまってる現状が無駄に思えてどうにか方法ないかなと
具体的にはLPVOID引数で自己責任ながら参照型からref、outやintなどの値渡しまで色々な型のオーバーロードを作って実際にちゃんと機能しています
なので一々オーバーロードとそのラップだけで30行ほど使ってしまってる現状が無駄に思えてどうにか方法ないかなと
735デフォルトの名無しさん (ワッチョイ 4d0c-Ms+D)
2019/09/21(土) 19:46:47.84ID:rw4WtgZd0 一例としてはこんな感じ
APIの想定される構造体がBlittableのみならマーシャリング不要なので
unmanaged制約にしてアドレス渡しの方が効率は良い
public static T GetSystemParametersInfo<T>(SPI uiAction, uint uiParam, SPIF fWinIni) where T : struct {
T value;
var buffer = Marshal.AllocCoTaskMem(Marshal.SizeOf<T>());
SystemParametersInfo(uiAction, uiParam, buffer, fWinIni);
value = Marshal.PtrToStructure<T>(buffer);
Marshal.FreeCoTaskMem(buffer);
return value;
}
まあぶっちゃけお行儀的にはオーバーロードだらだら並べる方が正解ではあるんだけどねw
APIの想定される構造体がBlittableのみならマーシャリング不要なので
unmanaged制約にしてアドレス渡しの方が効率は良い
public static T GetSystemParametersInfo<T>(SPI uiAction, uint uiParam, SPIF fWinIni) where T : struct {
T value;
var buffer = Marshal.AllocCoTaskMem(Marshal.SizeOf<T>());
SystemParametersInfo(uiAction, uiParam, buffer, fWinIni);
value = Marshal.PtrToStructure<T>(buffer);
Marshal.FreeCoTaskMem(buffer);
return value;
}
まあぶっちゃけお行儀的にはオーバーロードだらだら並べる方が正解ではあるんだけどねw
736デフォルトの名無しさん (ワッチョイ a207-vIUH)
2019/09/21(土) 19:58:38.68ID:A1p2bytl0 c# で必殺技みたいなメソッドがあったのですが思い出せません。どなたかご存知ないでしょうか?
737デフォルトの名無しさん (ワッチョイ 4563-tKbs)
2019/09/21(土) 20:03:15.85ID:y68BphyG0 >>736
リフレクション?
リフレクション?
738デフォルトの名無しさん (ワッチョイ 6922-2lm7)
2019/09/21(土) 22:34:09.60ID:rnFOOH9a0 >>736
privateメソッドを外部から無理矢理呼び出すやつ?
privateメソッドを外部から無理矢理呼び出すやつ?
739デフォルトの名無しさん (アウアウイー Sa11-kReW)
2019/09/21(土) 22:42:59.80ID:70YMyRx+a リフレクションならDynamicInvoke()がなんともかっこいいメソッド名
>>736のはおそらくはデストラクタあたりを想定してるんじゃないかと思うけど
>>736のはおそらくはデストラクタあたりを想定してるんじゃないかと思うけど
740デフォルトの名無しさん (アウアウウー Sa85-+KEk)
2019/09/21(土) 23:13:56.71ID:GoVsp8loa DangerousAddRefもなかなか
741デフォルトの名無しさん (ワッチョイ 5963-cEvk)
2019/09/22(日) 01:11:49.71ID:YKAr5fZO0 >>736
オーバーライド!!
オーバーライド!!
742デフォルトの名無しさん (ブーイモ MMf6-/3ZE)
2019/09/22(日) 01:26:33.02ID:01VTDUEXM オーバーロード!!
743デフォルトの名無しさん (スププ Sd22-2lm7)
2019/09/22(日) 01:39:55.72ID:V8FjsYeid >>736
ラムダ式!
ラムダ式!
744デフォルトの名無しさん (ワッチョイ c245-Iqd1)
2019/09/22(日) 07:51:48.39ID:Wx+hr3d10745デフォルトの名無しさん (ワッチョイ fd17-Ms+D)
2019/09/22(日) 08:33:40.66ID:6LYYKR960 1) githubで"sql parser"と検索
2) C#で絞り込む
3) 上から順に試す
4) 好みのが見つかったら改造を試みる
少なくとも1から作るよりは圧倒的に楽だし勉強にもなるよ
2) C#で絞り込む
3) 上から順に試す
4) 好みのが見つかったら改造を試みる
少なくとも1から作るよりは圧倒的に楽だし勉強にもなるよ
746デフォルトの名無しさん (ワッチョイ 829f-cF+R)
2019/09/22(日) 09:28:54.26ID:p/RNYxc40747デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/22(日) 12:11:14.62ID:PittLpUUa748デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/22(日) 12:16:38.76ID:PittLpUUa 少なくともC#のジェネリックはstringとbyte[]を透過的に扱ったり、
longをint2つと透過的に扱ったりするための仕組みじゃありませんwww
だからそういうのは共用体やオーバーロードを使うんだってw
longをint2つと透過的に扱ったりするための仕組みじゃありませんwww
だからそういうのは共用体やオーバーロードを使うんだってw
749デフォルトの名無しさん (ラクッペ MMc1-WGWF)
2019/09/22(日) 12:28:14.42ID:GskCdwYSM 端的に答えとけばいいんだよ
余計な講釈を垂れるな
余計な講釈を垂れるな
750デフォルトの名無しさん (ワッチョイ 02e0-jgJV)
2019/09/22(日) 22:36:43.63ID:584djEVu0 BitmapをBitmapDataにしたいのですが、使用されたパラメータが有効ではありませんと言われてしまいます。
ファイルから読み込んだbitmapは変換できるのですが、このようにコード上で作ったbitmapはダメです。
何がいけないのでしょうか?
Bitmap trimBmp = baseBmp.Clone(rect, baseBmp.PixelFormat);
BitmapData bitData = trimBmp.LockBits(rect, ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
ファイルから読み込んだbitmapは変換できるのですが、このようにコード上で作ったbitmapはダメです。
何がいけないのでしょうか?
Bitmap trimBmp = baseBmp.Clone(rect, baseBmp.PixelFormat);
BitmapData bitData = trimBmp.LockBits(rect, ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
751デフォルトの名無しさん (ワッチョイ 822c-9Tgq)
2019/09/22(日) 22:44:27.94ID:6/LwH+kT0 rectで切り出した後、その切り出した後のビットマップから
さらにrectで一部分のロックしようとしてるけど大丈夫? 全面じゃない?
さらにrectで一部分のロックしようとしてるけど大丈夫? 全面じゃない?
752デフォルトの名無しさん (ワッチョイ 02e0-jgJV)
2019/09/22(日) 22:53:39.23ID:584djEVu0 >>751
baseBMPからrectで切り抜いてますが、trimBMPにとってはrectは全面だと思うのですがダメなのですかね?
でも
Bitmap bmp = new Bitmap(100,100)
みたいな素画像でもやっぱりLockBitsできないです
baseBMPからrectで切り抜いてますが、trimBMPにとってはrectは全面だと思うのですがダメなのですかね?
でも
Bitmap bmp = new Bitmap(100,100)
みたいな素画像でもやっぱりLockBitsできないです
753デフォルトの名無しさん (ワッチョイ 6e7b-25Vu)
2019/09/22(日) 23:53:45.92ID:yl5BH+I+0 >>752
>trimBMPにとってはrectは全面
ではなくbaseBmpのrectの範囲って自分で指定しているよね
BitmapData bitData = trimBmp.LockBits(new Rectangle(0, 0, trimBmp.Width, trimBmp.Height), ImageLockMode.ReadOnly, trimBmp.PixelFormat);
>Bitmap bmp = new Bitmap(100,100)
>みたいな素画像でもやっぱりLockBitsできないです
できる。そっちもちゃんと引数の指定してみて
>trimBMPにとってはrectは全面
ではなくbaseBmpのrectの範囲って自分で指定しているよね
BitmapData bitData = trimBmp.LockBits(new Rectangle(0, 0, trimBmp.Width, trimBmp.Height), ImageLockMode.ReadOnly, trimBmp.PixelFormat);
>Bitmap bmp = new Bitmap(100,100)
>みたいな素画像でもやっぱりLockBitsできないです
できる。そっちもちゃんと引数の指定してみて
754デフォルトの名無しさん (ワッチョイ a207-vIUH)
2019/09/23(月) 01:34:07.15ID:CAyWI0VB0 private Point CalcPopupLoction(Form launcher, Form popupForm) {}
ボタン押したときに上部に表示する モーダルな popup フォーム の位置を計算するメソッドを書きました。
ボタンが左の方にあると、親フォームの左枠をはみ出さないように、popupForm は左揃えで表示。
真ん中へんにあると中央揃え、右端ならボタンとpopupForm を右揃えで表示する感じです。
1つ目の引数の良い名前が思い付きません。
主にボタンを想定してる引数です。
launcher (発射台)はどうもしっくりきません。
parent や baseForm はなんかおかしいのでやめました。
ボタン押したときに上部に表示する モーダルな popup フォーム の位置を計算するメソッドを書きました。
ボタンが左の方にあると、親フォームの左枠をはみ出さないように、popupForm は左揃えで表示。
真ん中へんにあると中央揃え、右端ならボタンとpopupForm を右揃えで表示する感じです。
1つ目の引数の良い名前が思い付きません。
主にボタンを想定してる引数です。
launcher (発射台)はどうもしっくりきません。
parent や baseForm はなんかおかしいのでやめました。
755デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/23(月) 03:14:26.31ID:QdBzCxoka756デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/23(月) 03:28:32.57ID:QdBzCxoka あー、右に揃える場合もあるのね。
じゃあボタン持ってるFormに
void ShowModalPopup(Form popup)
みたいなメソッドを持たせればいい
じゃあボタン持ってるFormに
void ShowModalPopup(Form popup)
みたいなメソッドを持たせればいい
757デフォルトの名無しさん (ワッチョイ 3d5f-tKbs)
2019/09/23(月) 03:42:05.85ID:ltbH9/U50 こういう使い回しが効きそうなのはいちいちフォームに実装しないで拡張メソッドにでもした方が
758デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/23(月) 03:56:41.99ID:QdBzCxoka 本当はボタン持ってる方のFormに
interface IDialogOwner:IWin32Window
{
HorizontalAlignment DialigHAlignment { get; }
Rectangle Rectangle { get; }
}
みたいなのをかぶせて、Popupする方のFormでShowDialogをオーバーロードして
void ShowDialog(IDialogOwner owner)
みたいにするのがいいのかも。
酔っぱらってるんでよく分からなくなってきたw
interface IDialogOwner:IWin32Window
{
HorizontalAlignment DialigHAlignment { get; }
Rectangle Rectangle { get; }
}
みたいなのをかぶせて、Popupする方のFormでShowDialogをオーバーロードして
void ShowDialog(IDialogOwner owner)
みたいにするのがいいのかも。
酔っぱらってるんでよく分からなくなってきたw
759デフォルトの名無しさん (ワッチョイ a211-2BIS)
2019/09/23(月) 08:49:12.84ID:l2jPGLgc0 C#でawaitに対応していないメソッドをawaitで非同期実行できるようにする方法を教えてください.
以下のようにしてもActionが実行されませんでした.
private async static void SomeHandler()
{
Console.Write("Burn");
await new Task(new Action(() =>{
Console.Write("[Start]");
Thread.Sleep(2000);
Console.Write("[Completed]");
}));
Console.Write("End");
}
以下のようにしてもActionが実行されませんでした.
private async static void SomeHandler()
{
Console.Write("Burn");
await new Task(new Action(() =>{
Console.Write("[Start]");
Thread.Sleep(2000);
Console.Write("[Completed]");
}));
Console.Write("End");
}
760デフォルトの名無しさん (ワッチョイ 1152-Ms+D)
2019/09/23(月) 08:58:35.82ID:ZRlL2jPD0761デフォルトの名無しさん (アウウィフ FF85-9GzD)
2019/09/23(月) 12:17:14.67ID:3qdqqJ07F bitmapinfo とか
dibsection とか
bitmapinfoheader とか
勉強してみたら
dibsection とか
bitmapinfoheader とか
勉強してみたら
762デフォルトの名無しさん (スフッ Sd22-J2vi)
2019/09/23(月) 14:47:11.75ID:vpc5pW+6d >>759
TaskCompletionSourceだっけ?うろ覚えですまんが、jsのPromiseオブジェクト的に使える。
TaskCompletionSourceだっけ?うろ覚えですまんが、jsのPromiseオブジェクト的に使える。
763デフォルトの名無しさん (ワッチョイ 5190-I/5H)
2019/09/23(月) 15:20:09.58ID:LbTjUCX60 taskをstartしてないだけだから...
764デフォルトの名無しさん (ワッチョイ c135-2BIS)
2019/09/23(月) 15:46:49.67ID:s6/Kehza0 >>763
ありがとうございます!
ありがとうございます!
765デフォルトの名無しさん (スププ Sd22-2lm7)
2019/09/23(月) 18:09:27.70ID:7f5aVpAAd どういたしまして!
766デフォルトの名無しさん (ワッチョイ 117b-PY7j)
2019/09/23(月) 19:11:24.16ID:24/7TZbh0 ID:QdBzCxoka
何の話してんのこの人
>>754
変数名が思いつかないとかはこのスレじゃなく
クラス名・変数名に迷ったら書き込むスレ。Part28 [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1494147712/
何の話してんのこの人
>>754
変数名が思いつかないとかはこのスレじゃなく
クラス名・変数名に迷ったら書き込むスレ。Part28 [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1494147712/
767デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/23(月) 22:40:56.88ID:6ZQTgZjHa768デフォルトの名無しさん (ワッチョイ a207-vIUH)
2019/09/23(月) 22:48:38.96ID:CAyWI0VB0769デフォルトの名無しさん (ワッチョイ a207-vIUH)
2019/09/23(月) 23:35:14.83ID:CAyWI0VB0 >>754
private Point CalcPopupLoction(Form launcher, Form popupForm) {}
上記は下部のボタンの位置に応じて、大きさのことなるpopupForm の表示位置を計算するメソッド
exportButton_Click 内で、
ShowDialog(); で表示する popupForm に戻り値を設定
https://i.imgur.com/ggjo4td.jpg
private Point CalcPopupLoction(Form launcher, Form popupForm) {}
上記は下部のボタンの位置に応じて、大きさのことなるpopupForm の表示位置を計算するメソッド
exportButton_Click 内で、
ShowDialog(); で表示する popupForm に戻り値を設定
https://i.imgur.com/ggjo4td.jpg
770デフォルトの名無しさん (ワッチョイ 0279-McVF)
2019/09/24(火) 00:01:07.45ID:OEzHH54a0 >>754
・Loctionて何
・ボタンの置いてあるオーナーウィンドウと対象のボタンを引数に取った方がいいと思う
・計算だけなら全部Rectangleでいいんじゃないの
Rectangle CalcPopupLocation(Rectangle Owner, Rectangle TargetButton, Rectangle Popup)
・Loctionて何
・ボタンの置いてあるオーナーウィンドウと対象のボタンを引数に取った方がいいと思う
・計算だけなら全部Rectangleでいいんじゃないの
Rectangle CalcPopupLocation(Rectangle Owner, Rectangle TargetButton, Rectangle Popup)
771デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/24(火) 00:03:53.21ID:ftn8dtDua >>769
だからさ、そのメソッドをどこに書くおつもり?
ポップアップを左右どちらに寄せるべきかを知ってるのは特定のFormだけのはずなのに
その例のllauncherの型がFormってのは変じゃないか?
そもそも何で「左右どちらに寄せるべきかを知ってる」奴のメソッドとして実装しないの?
それなら引数で渡す必要ないと思うんだけど。
だからさ、そのメソッドをどこに書くおつもり?
ポップアップを左右どちらに寄せるべきかを知ってるのは特定のFormだけのはずなのに
その例のllauncherの型がFormってのは変じゃないか?
そもそも何で「左右どちらに寄せるべきかを知ってる」奴のメソッドとして実装しないの?
それなら引数で渡す必要ないと思うんだけど。
772デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/24(火) 00:09:30.85ID:ftn8dtDua773デフォルトの名無しさん (ワッチョイ a207-vIUH)
2019/09/24(火) 11:39:03.69ID:vbZsX/Wo0 書き込みは、人を憎んでコードを憎まずのこころで行いましょう。
たとえクソコードであっても悪いのは書いた人だけです。
コードやプログラミング言語に罪は一切ありません。
コードの悪口はやめましょう。
クソコードの修正と言わず、リファクタリングといえばいいのです。
大量殺人犯や c# プログラマーの醜い心はリファクタリング不可能ですが、コードのリファクタリングはカンタンですよ。
https://www.google.co.jp/amp/s/anond.hatelabo.jp/touch/20180319181104%3fmode=amp
たとえクソコードであっても悪いのは書いた人だけです。
コードやプログラミング言語に罪は一切ありません。
コードの悪口はやめましょう。
クソコードの修正と言わず、リファクタリングといえばいいのです。
大量殺人犯や c# プログラマーの醜い心はリファクタリング不可能ですが、コードのリファクタリングはカンタンですよ。
https://www.google.co.jp/amp/s/anond.hatelabo.jp/touch/20180319181104%3fmode=amp
774デフォルトの名無しさん (ラクッペ MMc1-WGWF)
2019/09/24(火) 12:11:17.28ID:yrtqWHxIM 性格の悪さもリファクタリングしてくれ
775デフォルトの名無しさん (エムゾネ FF22-9GzD)
2019/09/24(火) 14:58:01.43ID:oiN+60axF 性格はコードに滲み出るよ
776デフォルトの名無しさん (ワッチョイ 216e-iM7L)
2019/09/24(火) 23:29:02.86ID:OoYPx0Tk0 性格は分からないけど姿勢みたいなものは見えると思ってる
こんなコピペばかりして少しはおかしいと思わないのかな?とかこんな古い書き方して言語の文法ざっとでもいいから一通り見たのかな?とか
いいコードを書こうとしてる人とそうでない人の差ってすごくよく分かる。本当に能力無くて頑張って頑張ってるのにひどいって場合もきっとあるんだろうけど
こんなコピペばかりして少しはおかしいと思わないのかな?とかこんな古い書き方して言語の文法ざっとでもいいから一通り見たのかな?とか
いいコードを書こうとしてる人とそうでない人の差ってすごくよく分かる。本当に能力無くて頑張って頑張ってるのにひどいって場合もきっとあるんだろうけど
777デフォルトの名無しさん (ワッチョイ 4690-jgJV)
2019/09/24(火) 23:44:57.44ID:3clb0+hp0 ようわからんけど動いてるからヨシ!
778デフォルトの名無しさん (ワッチョイ 7901-EJEl)
2019/09/25(水) 07:36:43.68ID:apbfD+2I0 式木がイケてるらしいですが使いどころが解りません
プロの皆さんはどこで使ってますか?
プロの皆さんはどこで使ってますか?
779デフォルトの名無しさん (ドコグロ MMca-+KEk)
2019/09/25(水) 10:16:37.93ID:HV92OfVjM780デフォルトの名無しさん (ワッチョイ 6e63-JE5y)
2019/09/25(水) 22:57:19.53ID:5YRgoX3y0 >人を憎んでコードを憎まず
逆じゃないんかおい
逆じゃないんかおい
781デフォルトの名無しさん (ワッチョイ 0279-Ms+D)
2019/09/25(水) 23:01:24.46ID:1MbrNFaz0 自分より給料貰ってる先輩(笑)が
クソコードを産み落としていた場合は人もコードも憎む
というか蔑む
クソコードを産み落としていた場合は人もコードも憎む
というか蔑む
782デフォルトの名無しさん (ワッチョイ 6e63-JE5y)
2019/09/25(水) 23:16:09.44ID:5YRgoX3y0 何をもってくそコードと言ってるのか
783デフォルトの名無しさん (ワッチョイ 0279-Ms+D)
2019/09/25(水) 23:38:23.64ID:1MbrNFaz0 何を以ってクソコードかは難しいところだが具体例なら無数に挙げられるぞ
switchを使わず延々とif-else if分岐
if(flag) return ture; return false;
一行違うだけのメソッド大量生成
マジックナンバーだらけ
コレクションはほとんどList
かと思えば特にライブラリに必要とされているわけでもないobject[]
もちろんパターンマッチングなんて概念は存在しない
out代わりにrefを使う
boolではなくintをフラグとして使う
クラス内のあらゆる場所から明示されず書き換えられるフィールド
どう見ても親子関係にない継承
メソッド1個300行以上
これがさぞ大変な処理かと思えばリファクタリングしたら40行で書けた
1行に300文字以上
リソースでもFormsでもない普通のクラスが4000行
switchを使わず延々とif-else if分岐
if(flag) return ture; return false;
一行違うだけのメソッド大量生成
マジックナンバーだらけ
コレクションはほとんどList
かと思えば特にライブラリに必要とされているわけでもないobject[]
もちろんパターンマッチングなんて概念は存在しない
out代わりにrefを使う
boolではなくintをフラグとして使う
クラス内のあらゆる場所から明示されず書き換えられるフィールド
どう見ても親子関係にない継承
メソッド1個300行以上
これがさぞ大変な処理かと思えばリファクタリングしたら40行で書けた
1行に300文字以上
リソースでもFormsでもない普通のクラスが4000行
784デフォルトの名無しさん (ササクッテロ Sp51-WUQ/)
2019/09/25(水) 23:54:44.99ID:NtFNmlTfp >>778
ドカタだけどlinqのwhereメソッドの引数を動的に生成するときに使った
ここ参考になるよ
https://www.atmarkit.co.jp/fdotnet/dotnettips/986dynamiclinq/dynamiclinq.html
ドカタだけどlinqのwhereメソッドの引数を動的に生成するときに使った
ここ参考になるよ
https://www.atmarkit.co.jp/fdotnet/dotnettips/986dynamiclinq/dynamiclinq.html
785デフォルトの名無しさん (ワッチョイ 7f63-aXvP)
2019/09/26(木) 00:03:29.50ID:68XB546j0786デフォルトの名無しさん (ワッチョイ c76e-upKm)
2019/09/26(木) 00:08:48.21ID:QoSQSwcY0 >>783
>>switchを使わず延々とif-else if分岐
>>マジックナンバーだらけ
>>クラス内のあらゆる場所から明示されず書き換えられるフィールド
>>メソッド1個300行以上
>>リソースでもFormsでもない普通のクラスが4000行
今直面してるのにまさに当てはまっててもう
>>コレクションはほとんどList
こっちはListどころか配列しか使わないんだぜ。もう書き方が完全にC
>>switchを使わず延々とif-else if分岐
>>マジックナンバーだらけ
>>クラス内のあらゆる場所から明示されず書き換えられるフィールド
>>メソッド1個300行以上
>>リソースでもFormsでもない普通のクラスが4000行
今直面してるのにまさに当てはまっててもう
>>コレクションはほとんどList
こっちはListどころか配列しか使わないんだぜ。もう書き方が完全にC
787デフォルトの名無しさん (ワッチョイ 7f63-aXvP)
2019/09/26(木) 00:09:16.61ID:NU/jFtK40 メソッド以外はどれも影響は大きくないし
多少大きくてもテストできればなんとかなる
ちょっとした文化の違い程度の話だ
多少大きくてもテストできればなんとかなる
ちょっとした文化の違い程度の話だ
788デフォルトの名無しさん (ワッチョイ 7f63-aXvP)
2019/09/26(木) 00:10:34.86ID:NU/jFtK40 初心者が一見してくそ呼ばわりするコードはたぶんくそじゃない
わかるから細かい粗が目に付く
普遍的恐怖を知るべきだ
ぐちゃぐちゃな循環参照
テストできないメソッド
う そ っ ぱ ち の 名 前
わかるから細かい粗が目に付く
普遍的恐怖を知るべきだ
ぐちゃぐちゃな循環参照
テストできないメソッド
う そ っ ぱ ち の 名 前
789デフォルトの名無しさん (ワッチョイ c7da-S/NQ)
2019/09/26(木) 00:15:27.94ID:ThQ6mTfg0 突然現れるlinqの長々としたクエリ式
せてめメソッド式にしてくれ
せてめメソッド式にしてくれ
790デフォルトの名無しさん (ワッチョイ 7f63-aXvP)
2019/09/26(木) 00:18:57.61ID:NU/jFtK40 しかしC#いつのまにやらパターンマッチまで入ってたんか…
791デフォルトの名無しさん (ワッチョイ ff0d-hLG/)
2019/09/26(木) 00:28:52.23ID:ZFJdpCv/0 sqlを全て文字列結合で作ってるうえに500行以上あったときは後輩に丸投げした
792デフォルトの名無しさん (スププ Sd7f-Mf0M)
2019/09/26(木) 03:16:32.66ID:wZcpOMsUd793デフォルトの名無しさん (ササクッテロ Spbb-Xp2G)
2019/09/26(木) 11:30:46.50ID:Av/VHz3vp あいつに任せた俺の責任だからって最初から頭数に入れていないから憎みもしない。必要なら全面書き直しもいとわない。
794デフォルトの名無しさん (ワッチョイ 47a5-MO5W)
2019/09/26(木) 20:59:42.99ID:7bLC7yvk0 なんでListがいかんのか?
795デフォルトの名無しさん (ワッチョイ e7da-/0jh)
2019/09/26(木) 21:12:02.17ID:aLxxu1ok0 ビットで判定とるのがいかんのか?
796デフォルトの名無しさん (ワッチョイ 5f79-S/NQ)
2019/09/26(木) 21:18:55.30ID:fUfQlO4W0 7f63-aXvPからクソグラマーの臭いがする
797デフォルトの名無しさん (ワッチョイ 5f79-S/NQ)
2019/09/26(木) 21:21:22.68ID:fUfQlO4W0798デフォルトの名無しさん (ワッチョイ e7da-/0jh)
2019/09/26(木) 21:37:16.13ID:aLxxu1ok0 ZDDをboolの配列で評価するの?orz
799デフォルトの名無しさん (ワッチョイ 5f79-S/NQ)
2019/09/26(木) 21:40:05.70ID:fUfQlO4W0 >>798
特別な理由がないならと言ってるだろうが
特別な理由がないならと言ってるだろうが
800デフォルトの名無しさん (ワッチョイ c76e-upKm)
2019/09/26(木) 22:03:13.49ID:QoSQSwcY0 windows formsの書き方についてなんですけど
メイン画面にタブがいっぱいあってそれを切り替えて……みたいなアプリなんです
んで中身見たらFormクラスが1万行オーバーで。画面一つだからって何もかも突っ込んでる感じなんです
画面というかフォーム一つで1クラスみたいなのが通常の書き方なんでしょうか
メイン画面にタブがいっぱいあってそれを切り替えて……みたいなアプリなんです
んで中身見たらFormクラスが1万行オーバーで。画面一つだからって何もかも突っ込んでる感じなんです
画面というかフォーム一つで1クラスみたいなのが通常の書き方なんでしょうか
801デフォルトの名無しさん (ササクッテロ Spbb-Xp2G)
2019/09/26(木) 22:10:14.52ID:Av/VHz3vp 普通はブロックに分ける。
802デフォルトの名無しさん (ワッチョイ 6717-S/NQ)
2019/09/26(木) 22:13:41.16ID:fJKX2zi80 >>800
タブ毎にユーザーコントロールを作ればスッキリはすると思うよ
タブ毎にユーザーコントロールを作ればスッキリはすると思うよ
803デフォルトの名無しさん (ワッチョイ 7f7b-v5cH)
2019/09/26(木) 22:23:35.32ID:lGqB6oAG0 >>800
「通常」はどうか知らないけど例えば
MDIアプリケーションを作成する
https://dobon.net/vb/dotnet/form/mdiapplication.html
こういう作り方もある
あと一つのフォームに普通のコードはともかくコントロール(InitializeComponentのなか)を多く詰め込みすぎると起動に時間がかかるようになる
現状で問題ないのならそこは気にすることは無いが
「通常」はどうか知らないけど例えば
MDIアプリケーションを作成する
https://dobon.net/vb/dotnet/form/mdiapplication.html
こういう作り方もある
あと一つのフォームに普通のコードはともかくコントロール(InitializeComponentのなか)を多く詰め込みすぎると起動に時間がかかるようになる
現状で問題ないのならそこは気にすることは無いが
804デフォルトの名無しさん (ワッチョイ 07c5-Mf0M)
2019/09/26(木) 22:53:44.29ID:d7SzDWCz0 >>800
parcial class でタブごとにファイルわける。
parcial class でタブごとにファイルわける。
805デフォルトの名無しさん (ワッチョイ c76e-upKm)
2019/09/26(木) 23:38:48.19ID:QoSQSwcY0 なるほど参考になりました。
今思えば既にタブごとに部分クラスわけしてファイル別になってたような気がしないでもない……となると実質一クラス10万行か。笑えない
今思えば既にタブごとに部分クラスわけしてファイル別になってたような気がしないでもない……となると実質一クラス10万行か。笑えない
806デフォルトの名無しさん (ブーイモ MMab-4jkW)
2019/09/27(金) 06:43:42.33ID:N2euUEC0M >>800
1000行超える時点でオブジェクト指向できてない証拠
1000行超える時点でオブジェクト指向できてない証拠
807デフォルトの名無しさん (ワッチョイ 47da-AQ1v)
2019/09/27(金) 08:33:35.75ID:1dreLMG90 フォーム以外で使わない処理を
わざわざ外部のファイルやクラスに作る必要なんてある?
わざわざ外部のファイルやクラスに作る必要なんてある?
808デフォルトの名無しさん (アウアウウー Sa8b-MM89)
2019/09/27(金) 08:42:46.73ID:eAUqf5T9a >>807
それで可読性が高まるならやる意味はある
それで可読性が高まるならやる意味はある
809デフォルトの名無しさん (スフッ Sd7f-mDN4)
2019/09/27(金) 09:06:13.84ID:ikgA/i06d C#は1ファイルに全部書けるので必要ないです
810デフォルトの名無しさん (ワッチョイ 675f-Xp2G)
2019/09/27(金) 10:07:45.04ID:NnPkuVhE0 再利用しないならそれでいいんじゃね?
811デフォルトの名無しさん (ワッチョイ 5f79-S/NQ)
2019/09/27(金) 22:47:27.06ID:uik+OEWH0 お前を含めた全人類が未来永劫そのコードに手を加えない保証があるなら好きにすればいい
812デフォルトの名無しさん (ワッチョイ c76e-upKm)
2019/09/27(金) 23:28:58.48ID:MmWjZkvh0 ググったらタブ大量にあるような場合>>802がクラス分割のためのメジャーな手法なのね
813デフォルトの名無しさん (ワッチョイ 5ff9-vbpN)
2019/09/28(土) 08:43:54.27ID:uN9Z5b+x0 游ゴシックの英数文字をMeasureStringで取得した矩形を使ってDrawStringすると高さ不足で表示されない
矩形を使わなきゃ表示はできるから良いけどもやもやする
矩形を使わなきゃ表示はできるから良いけどもやもやする
814デフォルトの名無しさん (ワッチョイ 0701-/0jh)
2019/09/28(土) 10:37:47.08ID:elJniuwU0 フォント周りおかしいのはMS伝統では
ないだろうか?
Q
ないだろうか?
Q
815デフォルトの名無しさん (アウアウウー Sa8b-dvEi)
2019/09/28(土) 14:09:54.66ID:51nJyp6ja そんなざっくりした話じゃ、どうせお前自身のコードのバグだろって
反応しか返ってこないと思うw
反応しか返ってこないと思うw
816デフォルトの名無しさん (ワッチョイ 07c5-Mf0M)
2019/09/29(日) 01:52:26.51ID:sVRG+wNI0 インターフェイスと抽象クラスってどう使い分ければ良いのでしょう?
ググってもよくわかりません。
ググってもよくわかりません。
817デフォルトの名無しさん (ワッチョイ 47da-AQ1v)
2019/09/29(日) 02:47:00.08ID:TNnn17Gh0 インターフェースなら継承関係のない複数のクラスのように
振る舞うことができる
振る舞うことができる
818デフォルトの名無しさん (ワッチョイ 5f79-S/NQ)
2019/09/29(日) 02:49:22.44ID:HU0MDVmv0 大雑把言えば
プロパティとフィールド(値)を保持するのがクラス
クラスのメソッド(挙動)を公開するのがインターフェイス
プロパティとフィールド(値)を保持するのがクラス
クラスのメソッド(挙動)を公開するのがインターフェイス
819デフォルトの名無しさん (ワッチョイ 47da-AQ1v)
2019/09/29(日) 02:54:07.57ID:TNnn17Gh0 それが抽象クラスとなにが違うのだ?と彼は聞いているわけで
820デフォルトの名無しさん (ワッチョイ 5f79-S/NQ)
2019/09/29(日) 03:01:23.20ID:HU0MDVmv0 インターフェイスは値を持たないし
原則として挙動の実装も持たせない
原則として挙動の実装も持たせない
821デフォルトの名無しさん (アウアウウー Sa8b-dvEi)
2019/09/29(日) 03:20:49.12ID:m1n6jIU5a >>816
使い分けで悩む必要はないと思うよ。
インターフェイスで目的が達成できるならあえて抽象クラスを使う理由はないのだから。
たぶん使い分けが分からないのではなく、インターフェイスの使いどころが分からないだけじゃないのか。
よくわからなくてもとにかく実際コードを書いて使ってみることが重要。
別に難しい話じゃないので使ってるうちに自ずと分かる。たぶん
使い分けで悩む必要はないと思うよ。
インターフェイスで目的が達成できるならあえて抽象クラスを使う理由はないのだから。
たぶん使い分けが分からないのではなく、インターフェイスの使いどころが分からないだけじゃないのか。
よくわからなくてもとにかく実際コードを書いて使ってみることが重要。
別に難しい話じゃないので使ってるうちに自ずと分かる。たぶん
822デフォルトの名無しさん (ワッチョイ 47da-AQ1v)
2019/09/29(日) 03:35:49.46ID:TNnn17Gh0 多重継承的なことがしたくなったらインターフェースを使う
くらいな感じでいいのかもね
くらいな感じでいいのかもね
823デフォルトの名無しさん (ワッチョイ ff0d-hLG/)
2019/09/29(日) 07:08:46.93ID:5VaVy3IA0 私もよくわからないんですが、インターフェースって実装内容は問わないけどこの名称のメソッドは用意しなさいよってコトですかね?
インターフェースでメソッドを定義しても、継承したクラスがそのメソッド名に合ってない実装をしてしまったらと考えるとインターフェースのメリットがイマイチピンときません
インターフェースでメソッドを定義しても、継承したクラスがそのメソッド名に合ってない実装をしてしまったらと考えるとインターフェースのメリットがイマイチピンときません
824デフォルトの名無しさん (ワッチョイ 5fad-W5ZC)
2019/09/29(日) 07:26:53.36ID:ehZkSMIn0 疎結合
825デフォルトの名無しさん (ワッチョイ 5f01-Gn+r)
2019/09/29(日) 08:56:25.44ID:qdFsd7WD0826デフォルトの名無しさん (ワッチョイ 47da-AQ1v)
2019/09/29(日) 09:00:39.96ID:TNnn17Gh0 それって抽象メソッドでも同じ事じゃないの
827デフォルトの名無しさん (ワッチョイ 672c-hHW8)
2019/09/29(日) 11:47:55.74ID:YvnTsZym0 多態で使うんだよ
用意しなさいってのは発想が逆で、インターフェースに定義されているプロパティなりメソッドなりが実装されていることが保障されていると考える
実際の実装は気にせずに呼ぶ側はインターフェースのメソッドを呼べばいい
用意しなさいってのは発想が逆で、インターフェースに定義されているプロパティなりメソッドなりが実装されていることが保障されていると考える
実際の実装は気にせずに呼ぶ側はインターフェースのメソッドを呼べばいい
828デフォルトの名無しさん (ササクッテロラ Spbb-dakf)
2019/09/29(日) 11:59:54.10ID:J9ITXYeqp 抽象クラスは重複の排除で使う、インターフェイスはテストする時の視点で必要
クラスAがクラスBの機能を利用する時に
クラスAはインターフェイスに対して実装しとけば
クラスBの変更に影響を受けないし、
テストする時にクラスBの代わりを作るのがインターフェイス部分だけになる
これがもしクラスAがクラスBの抽象クラスに対して実装すると、
クラスAをテストするときに抽象クラスの不要な部分まで要求されてしまう
また複数人開発においてもインターフェイスを利用すれば各個人が独立に作業しやすくなる
クラスAがクラスBの機能を利用する時に
クラスAはインターフェイスに対して実装しとけば
クラスBの変更に影響を受けないし、
テストする時にクラスBの代わりを作るのがインターフェイス部分だけになる
これがもしクラスAがクラスBの抽象クラスに対して実装すると、
クラスAをテストするときに抽象クラスの不要な部分まで要求されてしまう
また複数人開発においてもインターフェイスを利用すれば各個人が独立に作業しやすくなる
829デフォルトの名無しさん (アウウィフ FF8b-yXpG)
2019/09/29(日) 12:01:49.30ID:3s0zt66kF 呼んだはずのメソッドが(インターフェースでは要求されてるのに)実装されてなかったら
コンパイルエラーじゃなくて実行時に例外吐くか
unknownmethod()みたいな呼び方してくれると便利
コンパイルエラーじゃなくて実行時に例外吐くか
unknownmethod()みたいな呼び方してくれると便利
830デフォルトの名無しさん (オッペケ Srbb-kLFp)
2019/09/29(日) 12:05:37.87ID:INBbqatbr 不便だろ
831デフォルトの名無しさん (ワッチョイ c7ad-c9EJ)
2019/09/29(日) 12:07:56.33ID:wmQ9rxKs0 クラスに由来しない振る舞いを定義するのがインターフェイスとも言えるね。
良く例示される「動物」クラスで考えると。
・「動物」は動くのだから「移動」メソッドに必然性がある
・だけど「移動」するのは動物だけではない
・いま「移動」と言うメソッドに着目して操作を行いたいとする
・「移動」は動物でも自動車でもロボットでも行う
・でも自動車もロボットも動物ではないのでいからそのメソッドの由来を「動物」クラスに求めるわけにはいかない
・加えて、動物や自動車やロボットに直系する(基底)クラスもない
・故に「移動」メソッドの由来を「動物」クラスにではなく「移動」インターフェイスに求めてみる
・・・的な。
良く例示される「動物」クラスで考えると。
・「動物」は動くのだから「移動」メソッドに必然性がある
・だけど「移動」するのは動物だけではない
・いま「移動」と言うメソッドに着目して操作を行いたいとする
・「移動」は動物でも自動車でもロボットでも行う
・でも自動車もロボットも動物ではないのでいからそのメソッドの由来を「動物」クラスに求めるわけにはいかない
・加えて、動物や自動車やロボットに直系する(基底)クラスもない
・故に「移動」メソッドの由来を「動物」クラスにではなく「移動」インターフェイスに求めてみる
・・・的な。
832デフォルトの名無しさん (オッペケ Srbb-kLFp)
2019/09/29(日) 12:08:06.40ID:INBbqatbr 実行時に例外吐くのはめちゃくちゃ恥ずかしい
コード書いたやつはバカですと言う証明
私はデバッグもできない馬鹿ですで表明してるようなもの
コード書いたやつはバカですと言う証明
私はデバッグもできない馬鹿ですで表明してるようなもの
833デフォルトの名無しさん (オッペケ Srbb-kLFp)
2019/09/29(日) 12:13:32.63ID:INBbqatbr コンパイル時にエラー吐くならそこでデバッグできる
実行時エラーなら全ての場合でエラーがないことを実際に確認しなければならない
どちらが便利かわかるだろ
実行時エラーなら全ての場合でエラーがないことを実際に確認しなければならない
どちらが便利かわかるだろ
834デフォルトの名無しさん (ワッチョイ 47da-AQ1v)
2019/09/29(日) 19:29:34.79ID:TNnn17Gh0835デフォルトの名無しさん (ワッチョイ 07c5-Mf0M)
2019/09/29(日) 20:03:13.25ID:sVRG+wNI0 先日、マンガ村の運営者が著作権法違反の容疑で逮捕された。
c# プログラマもマンガ村と同様の共有システムgit等を利用し、マンガやソースをインターネットを通して共有している。
github など分散型のバージョン管理システムを利用している c#プログラマはマンガ村の管理者と同じ位置にいるといえる。単なる利用者ではない。
c# プログラマはマンガ村管理者と同一人物といえるので、著作権法違反の共同正犯として刑務所にぶち込むべき。
c# プログラマもマンガ村と同様の共有システムgit等を利用し、マンガやソースをインターネットを通して共有している。
github など分散型のバージョン管理システムを利用している c#プログラマはマンガ村の管理者と同じ位置にいるといえる。単なる利用者ではない。
c# プログラマはマンガ村管理者と同一人物といえるので、著作権法違反の共同正犯として刑務所にぶち込むべき。
836デフォルトの名無しさん (ワッチョイ 5ff9-vbpN)
2019/09/29(日) 22:53:02.75ID:1CaVkali0 c#のインターフェイスにはプロパティも宣言できるよね
あれは実質的にはフィールドと同じ様な感覚で使えてしまう
あれは実質的にはフィールドと同じ様な感覚で使えてしまう
837デフォルトの名無しさん (アウアウウー Sa8b-EV7r)
2019/09/29(日) 23:37:43.33ID:uMWzDoEma だって>>831のような解釈は時代遅れだし特にC#(というかMS系)では一般的ではないからな
今時は「動物」という一般的実在だろうが「移動できる」という抽象的性質だろうが区別せず、
実装を限定したくない場合は原則常にインターフェイスを使うのが一般的だ
特にMSの場合は顕著で、ほぼ全クラスの全メソッドをインターフェイスに定義するというスタイルを取ることが多いし、またそれを推奨してもいる
今時は「動物」という一般的実在だろうが「移動できる」という抽象的性質だろうが区別せず、
実装を限定したくない場合は原則常にインターフェイスを使うのが一般的だ
特にMSの場合は顕著で、ほぼ全クラスの全メソッドをインターフェイスに定義するというスタイルを取ることが多いし、またそれを推奨してもいる
838デフォルトの名無しさん (アウアウウー Sa8b-dvEi)
2019/09/29(日) 23:56:27.42ID:8QPFQcOxa ほんとかよそれwwwww
839デフォルトの名無しさん (ワッチョイ 5f52-k+Ie)
2019/09/29(日) 23:59:46.39ID:k4CvVXqN0 >>837
初心者スレで珍妙な独自理論を一般的だなんて教えるのはやめれ
初心者スレで珍妙な独自理論を一般的だなんて教えるのはやめれ
840デフォルトの名無しさん (ワッチョイ 677d-S/NQ)
2019/09/30(月) 00:22:33.73ID:LVz3OUV70 今年始めた初心者だが
クラスが大カテゴリ
メソッドが小カテゴリ
インターフェースが小カテゴリらの存在を保証する中カテゴリ
このくらいの認識しかなかったわ
クラスが大カテゴリ
メソッドが小カテゴリ
インターフェースが小カテゴリらの存在を保証する中カテゴリ
このくらいの認識しかなかったわ
841デフォルトの名無しさん (ワッチョイ e7da-/0jh)
2019/09/30(月) 00:32:45.02ID:C9eDYcBn0 宣教師と見た
次にスクリプト言語を薦めて来るぞ
次にスクリプト言語を薦めて来るぞ
842デフォルトの名無しさん (ワッチョイ c7ad-c9EJ)
2019/09/30(月) 00:57:12.69ID:PJtB8DfJ0 831 だけど。
複数のクラスインスタンスの動的読み込みとか始めるとそんな感じになることもあるよ。
プラグインとかの識別に便利だし。
そうだとしても、たぶん 831 の1行目と矛盾してないでしょ。
ただ初心者相手の説明にこんなこと言いだしたら収拾がつかなくなるし、
全メソッドをってのは、まあ頑張ってな、と返すしかないけど。
複数のクラスインスタンスの動的読み込みとか始めるとそんな感じになることもあるよ。
プラグインとかの識別に便利だし。
そうだとしても、たぶん 831 の1行目と矛盾してないでしょ。
ただ初心者相手の説明にこんなこと言いだしたら収拾がつかなくなるし、
全メソッドをってのは、まあ頑張ってな、と返すしかないけど。
843デフォルトの名無しさん (ワッチョイ 7f2d-Jn7s)
2019/09/30(月) 01:48:44.79ID:dOfJdIlZ0 すまんが、エラーメッセージにあるカッコ内の行番号らしきものってさあ
片方は間違ってる行っぽいけど、もう片方は一体何なんだぜ?
片方は間違ってる行っぽいけど、もう片方は一体何なんだぜ?
844デフォルトの名無しさん (アウアウウー Sa8b-U2DM)
2019/09/30(月) 02:02:42.92ID:zBUNKmmLa >>843
その行の何文字目かって意味
例えばファイル先頭に「int a = "";」と書いたら(1,5,1,6)でエラーが出るけど
これは「1行目5文字目〜1行目6文字目」の箇所でエラーになっていることを表している
その行の何文字目かって意味
例えばファイル先頭に「int a = "";」と書いたら(1,5,1,6)でエラーが出るけど
これは「1行目5文字目〜1行目6文字目」の箇所でエラーになっていることを表している
845デフォルトの名無しさん (ワッチョイ 7f2d-Jn7s)
2019/09/30(月) 02:09:52.87ID:dOfJdIlZ0 >>844
ありがとう!何文字目かなんて全然わかんなかったよ
ありがとう!何文字目かなんて全然わかんなかったよ
846デフォルトの名無しさん (ワッチョイ c701-2qxP)
2019/09/30(月) 08:08:24.00ID:fD1lXHN30 質問いいですか?
847デフォルトの名無しさん (ワッチョイ e761-zx9Z)
2019/09/30(月) 08:10:26.75ID:ws0x1Tjj0 >>846
駄目です
駄目です
848デフォルトの名無しさん (スフッ Sd7f-hHW8)
2019/09/30(月) 08:17:51.94ID:nNBu0V63d >>847
その返しはこのスレではいかんだろ(笑)
その返しはこのスレではいかんだろ(笑)
849デフォルトの名無しさん (ワッチョイ 5f61-b6oD)
2019/09/30(月) 08:41:05.60ID:bmAzH1750 トイレ行ってきていいですか?
850デフォルトの名無しさん (ブーイモ MMab-/0jh)
2019/09/30(月) 08:55:42.37ID:BmNMZ9TsM もう居るだろう
851デフォルトの名無しさん (ワッチョイ c701-2qxP)
2019/09/30(月) 09:29:49.98ID:fD1lXHN30 では質問しますね
Timerコンポーネントで
Timer1.Interval = 5000;とすると、プログラム起動後5秒後に初めてTimer1_Tickが
実行されますよね、これを起動時に1度実行したいのですがどうしたらいのでしょうか
Form1_Loadに書けばいいような気がしますが引数がわからない
Timerコンポーネントで
Timer1.Interval = 5000;とすると、プログラム起動後5秒後に初めてTimer1_Tickが
実行されますよね、これを起動時に1度実行したいのですがどうしたらいのでしょうか
Form1_Loadに書けばいいような気がしますが引数がわからない
852デフォルトの名無しさん (ワッチョイ 5f24-S/NQ)
2019/09/30(月) 09:31:40.04ID:Q4pocwaT0 忘れたけどTimerってTimers.TimerもThreading.Timerも大体どんな種類の奴でも最初のディレイタイム指定できなかったっけ?
853デフォルトの名無しさん (ワッチョイ c701-2qxP)
2019/09/30(月) 09:58:04.89ID:fD1lXHN30854デフォルトの名無しさん (ワッチョイ 5f42-S/NQ)
2019/09/30(月) 10:05:34.65ID:g7w6SBZq0855デフォルトの名無しさん (オイコラミネオ MM1b-ZHzT)
2019/09/30(月) 10:13:21.52ID:e45pyL0lM >>851
最初100で、中で則5000書き換えじゃあかんかったっけ
最初100で、中で則5000書き換えじゃあかんかったっけ
856デフォルトの名無しさん (ワッチョイ c701-2qxP)
2019/09/30(月) 10:40:02.13ID:fD1lXHN30857デフォルトの名無しさん (アウアウウー Sa8b-dvEi)
2019/09/30(月) 10:47:03.32ID:ZcJV4ZEKa >>851
どんな方法使ってもいいけど後で読んだ時に何をやってるか
分かりやすいのが一番だね
public Form1()
{
InitializeComponent();
Form1.Load += (sender, e) => OnEvery5Seconds();
Timer1.Tick += (sender, e) => OnEvery5Seconds();
}
void OnEvery5Seconds()
{
.....
}
こうやった場合、FormのLoadイベントより前にOnEvery5Secondsが呼ばれる可能性が
あることは注意する必要がある。(実際にはないと思うけど)
どんな方法使ってもいいけど後で読んだ時に何をやってるか
分かりやすいのが一番だね
public Form1()
{
InitializeComponent();
Form1.Load += (sender, e) => OnEvery5Seconds();
Timer1.Tick += (sender, e) => OnEvery5Seconds();
}
void OnEvery5Seconds()
{
.....
}
こうやった場合、FormのLoadイベントより前にOnEvery5Secondsが呼ばれる可能性が
あることは注意する必要がある。(実際にはないと思うけど)
858デフォルトの名無しさん (ワッチョイ c701-2qxP)
2019/09/30(月) 11:16:30.25ID:fD1lXHN30859デフォルトの名無しさん (ワッチョイ 672c-hHW8)
2019/09/30(月) 23:02:09.82ID:S0uOX3sP0 >>852
流れから推測するとたぶんWindows.Forms.Timerクラスだね
流れから推測するとたぶんWindows.Forms.Timerクラスだね
860デフォルトの名無しさん (ワッチョイ 7f2d-Jn7s)
2019/10/02(水) 01:49:10.77ID:4PgWnh+40 非同期メソッドでちょっとだけ同期処理するのにはどうすれはいいのですか?
async Task ABCasync(){
ABCasyncの呼び出し元には、終わるまで待っていてもらいたい処理();
//ここでtaskで呼び出し元に何かを返せたりするのかしら?
ABCasyncの呼び出し元には、待っていてもらう必要のない処理();
}
async Task ABCasync(){
ABCasyncの呼び出し元には、終わるまで待っていてもらいたい処理();
//ここでtaskで呼び出し元に何かを返せたりするのかしら?
ABCasyncの呼び出し元には、待っていてもらう必要のない処理();
}
861デフォルトの名無しさん (ワッチョイ 5f79-S/NQ)
2019/10/02(水) 02:14:39.18ID:mDEdylW50 強引に実装することは可能だがメソッド分割すべき
862デフォルトの名無しさん (ワッチョイ 0701-iC4Z)
2019/10/02(水) 07:28:12.15ID:YugGu4Uj0 クラスは知識
メソッドは機能
という認識は事のほか難しいんけ?
メソッドは機能
という認識は事のほか難しいんけ?
863デフォルトの名無しさん (ワッチョイ 5f52-k+Ie)
2019/10/02(水) 08:07:26.42ID:Vm3TcWW10 >>862
そういう一般的でもない訳のわからない解釈を出されても、普通の人には理解できないかおかしな理解のまま突き進むことになるだろう
そういう一般的でもない訳のわからない解釈を出されても、普通の人には理解できないかおかしな理解のまま突き進むことになるだろう
864デフォルトの名無しさん (ワッチョイ 5f24-S/NQ)
2019/10/02(水) 08:15:53.12ID:gR9x9lAq0 クラスは学校とかのクラスって認識でいい
865デフォルトの名無しさん (オッペケ Srbb-kLFp)
2019/10/02(水) 11:07:45.90ID:9X+f8gXkr ゲームのクラスの方がわかりやすい気がする
戦士 魔法使い 僧侶 盗賊
それぞれできることが違う
戦士 魔法使い 僧侶 盗賊
それぞれできることが違う
866デフォルトの名無しさん (ササクッテロ Spbb-Xp2G)
2019/10/02(水) 11:18:19.95ID:VgxhRvTXp あはは、まあ、学校のクラスだと対抗戦が出来るくらいに似たり寄ったりだから意味が分からないよな。
867デフォルトの名無しさん (アウアウウー Sa8b-k+Ie)
2019/10/02(水) 11:59:15.15ID:8UOZigmra 逆に、同一のクラスの異なるインスタンスなんてのもできないしね。
868デフォルトの名無しさん (ブーイモ MM0b-upKm)
2019/10/02(水) 12:12:09.33ID:VOEDuxVKM869デフォルトの名無しさん (オッペケ Srbb-kLFp)
2019/10/02(水) 12:26:49.61ID:9X+f8gXkr 出来ることが変わらないなら基本変えなくていいよ
設計次第だけど
質問の内容の男戦士と女戦士で何が違うのかはっきりしない
力などの属性値(プロパティ)だけが違うなら分ける必要はないわな
半漁人でも4足系の戦士でも数値しかかわらないなら同じ
コードが共通になるなら基本的に分けなくてもいい
設計次第だけど
質問の内容の男戦士と女戦士で何が違うのかはっきりしない
力などの属性値(プロパティ)だけが違うなら分ける必要はないわな
半漁人でも4足系の戦士でも数値しかかわらないなら同じ
コードが共通になるなら基本的に分けなくてもいい
870デフォルトの名無しさん (ワッチョイ 672c-hHW8)
2019/10/02(水) 19:59:53.93ID:dZRRj/1Z0 強引に何かに例えるよりコード書いてみた方がいいよ
871デフォルトの名無しさん (ワッチョイ 5f42-S/NQ)
2019/10/02(水) 20:20:25.32ID:IV023jBj0 C#はじめて最初の日に読み飛ばすところで議論しても不毛だよな
>>870に賛成
>>870に賛成
872デフォルトの名無しさん (アウアウエー Sa52-8ogf)
2019/10/03(木) 00:57:21.26ID:z1GHd6rla 質問です
工場とかインフラの制御ソフトモドキを成果物としてWindowsアプリケーションの形式でC#で作りたいんですが、この2冊終わった後にWindowsアプリケーション開発の本買うなら何が良いですか?
また、本が時間の無駄だとしたらどこのサイトを参照すれば良いですか?
上記の件よろしくお願いしますm(_ _)m
1冊目 なるほどなっとくC#入門
2冊目 C#プログラミングのイディオム/定石&パターン
工場とかインフラの制御ソフトモドキを成果物としてWindowsアプリケーションの形式でC#で作りたいんですが、この2冊終わった後にWindowsアプリケーション開発の本買うなら何が良いですか?
また、本が時間の無駄だとしたらどこのサイトを参照すれば良いですか?
上記の件よろしくお願いしますm(_ _)m
1冊目 なるほどなっとくC#入門
2冊目 C#プログラミングのイディオム/定石&パターン
873デフォルトの名無しさん (ワッチョイ e522-reJN)
2019/10/03(木) 01:02:05.17ID:t45ZyD0e0874デフォルトの名無しさん (アウアウエー Sa52-8ogf)
2019/10/03(木) 01:16:35.63ID:z1GHd6rla >>873
ありがとうございますm(_ _)m
ありがとうございますm(_ _)m
875デフォルトの名無しさん (アウアウウー Sa21-5zAY)
2019/10/03(木) 01:19:35.07ID:pRlPv1jza >>872
FormならGUIの作り方は必用なことをググって調べながら実際に作ってみるのが一番。
本は1冊以上は読むだけたぶん時間の無駄。
何かを制御するなら、それが大企業の製品で.NET用のライブラリが用意されているのでない限り
たぶんアンマネージドの知識が必要になる。
これは多分本はないので自分でググって調べる
あと多分非同期処理は必須。
最初.NET1.x時代の生のThreadとか使う記事に軽く目を通して、
その後は今時のTPLや非同期メソッドの記事を読めばいい。
本もあるけどたぶんweb上の記事で十分
FormならGUIの作り方は必用なことをググって調べながら実際に作ってみるのが一番。
本は1冊以上は読むだけたぶん時間の無駄。
何かを制御するなら、それが大企業の製品で.NET用のライブラリが用意されているのでない限り
たぶんアンマネージドの知識が必要になる。
これは多分本はないので自分でググって調べる
あと多分非同期処理は必須。
最初.NET1.x時代の生のThreadとか使う記事に軽く目を通して、
その後は今時のTPLや非同期メソッドの記事を読めばいい。
本もあるけどたぶんweb上の記事で十分
876デフォルトの名無しさん (ワッチョイ 6dda-PG2W)
2019/10/03(木) 01:26:24.07ID:wBmuAStK0 非同期メソッドの実行自体は慣れたけど
win10のアップデート強制再起動時に
非同期処理中のタスクをきちんと終了させる方法がわからん
突然書き込み中のファイルがぶっ壊れそうで怖いわ
win10のアップデート強制再起動時に
非同期処理中のタスクをきちんと終了させる方法がわからん
突然書き込み中のファイルがぶっ壊れそうで怖いわ
877デフォルトの名無しさん (アウアウエー Sa52-8ogf)
2019/10/03(木) 01:35:18.06ID:z1GHd6rla >>875
ありがとうございますm(_ _)m
ありがとうございますm(_ _)m
878デフォルトの名無しさん (スフッ Sd0a-reJN)
2019/10/03(木) 01:39:57.58ID:dygVDi5Yd879デフォルトの名無しさん (アウアウウー Sa21-5zAY)
2019/10/03(木) 01:45:45.89ID:pRlPv1jza880デフォルトの名無しさん (ササクッテロ Spbd-F3se)
2019/10/03(木) 15:11:12.65ID:xDvwVpv4p マネージドなドライバーが無いなら使わないって選択をだな。
881デフォルトの名無しさん (ワッチョイ 5d35-4God)
2019/10/03(木) 18:33:07.86ID:65+5RZIm0 UI操作とawaitを使った非同期メソッドをまとめたasyncメソッドを別スレッドから呼び出すにはどうすればいいですか?
882デフォルトの名無しさん (スフッ Sd0a-fusW)
2019/10/03(木) 18:36:08.92ID:XDm3DYNpd >>881
??何が聞きたいの?
??何が聞きたいの?
883デフォルトの名無しさん (ワッチョイ 5d35-4God)
2019/10/03(木) 18:42:35.24ID:65+5RZIm0 >>882
すみませんでした。
例えばこういう感じのメソッドを別スレッドから呼び出す方法を教えてください。
async Task DoSome()
{
label1.Text="処理中...";
await DoLong();
label1.Text="完了";
}
すみませんでした。
例えばこういう感じのメソッドを別スレッドから呼び出す方法を教えてください。
async Task DoSome()
{
label1.Text="処理中...";
await DoLong();
label1.Text="完了";
}
884デフォルトの名無しさん (ワッチョイ 6a2c-qxT7)
2019/10/03(木) 20:27:59.44ID:AKImZpfb0 正直設計を考え直した方がいいけど
メインスレッドで動作してる間に
TaskScheduler.FromCurrentSynchronizationContext()
でTaskScheduler確保しておいて、その"別スレッド"内で
new Task(() => DoSome()).RunSynchronously(taskScheduler)
する
メインスレッドで動作してる間に
TaskScheduler.FromCurrentSynchronizationContext()
でTaskScheduler確保しておいて、その"別スレッド"内で
new Task(() => DoSome()).RunSynchronously(taskScheduler)
する
885デフォルトの名無しさん (ワッチョイ 6d87-4God)
2019/10/03(木) 20:48:28.97ID:Cd3mzBuJ0 こうじゃダメなの?
Invoke((MethodInvoker)(async () =>DoSome()));
Invoke((MethodInvoker)(async () =>DoSome()));
886デフォルトの名無しさん (オッペケ Srbd-jw9j)
2019/10/03(木) 22:23:35.99ID:Y5r0apvPr 呪文化しただけにも見える
887デフォルトの名無しさん (ワッチョイ 5de3-6+Yj)
2019/10/04(金) 00:31:32.74ID:hyuh0V300888デフォルトの名無しさん (アウアウウー Sa21-5zAY)
2019/10/04(金) 01:26:24.02ID:oVLixzTMa >>883
やっぱりそういうのは非UIスレッドからも呼び出せるようにする、ではなく、
逆に普通にUIスレッド専用のメソッドとして提供して、
もし必要ならXMLコメントとかで「UIスレッド以外からの呼び出し禁止」って
明示するのが筋なような気がするw
やっぱりそういうのは非UIスレッドからも呼び出せるようにする、ではなく、
逆に普通にUIスレッド専用のメソッドとして提供して、
もし必要ならXMLコメントとかで「UIスレッド以外からの呼び出し禁止」って
明示するのが筋なような気がするw
889デフォルトの名無しさん (ワッチョイ 5d35-4God)
2019/10/04(金) 09:42:07.42ID:7JHQ1IR60890デフォルトの名無しさん (ササクッテロ Spbd-WEHN)
2019/10/04(金) 09:50:12.44ID:K3mQ1Iatp まあその用途ならやっぱコントロールのInvokeの中で呼べばいいだけの話しだな
DoLongの中でさらに入り組んでるとデッドロックしそうだけど
DoLongの中でさらに入り組んでるとデッドロックしそうだけど
891デフォルトの名無しさん (アウアウウー Sa21-5zAY)
2019/10/04(金) 14:31:48.61ID:RxmXvWZXa こんなの考えてみたが、あんまり便利でもないなw
private bool TryOnUIThread<T>(EventHandler<T> eh, object sender, T e) where T:EventArgs
{
if (!InvokeRequired) return false;
Invoke((Action)(() => eh(sender, e)));
return true;
}
private void FileSystemWatcher_Changed(object sender, FileSystemEventArgs e)
{
if (TryOnUIThread(FileSystemWatcher_Changed, sender, e)) return;
var t = DoSome();
}
private bool TryOnUIThread<T>(EventHandler<T> eh, object sender, T e) where T:EventArgs
{
if (!InvokeRequired) return false;
Invoke((Action)(() => eh(sender, e)));
return true;
}
private void FileSystemWatcher_Changed(object sender, FileSystemEventArgs e)
{
if (TryOnUIThread(FileSystemWatcher_Changed, sender, e)) return;
var t = DoSome();
}
892デフォルトの名無しさん (ワッチョイ b67c-qxT7)
2019/10/04(金) 15:21:51.76ID:5G6hsRzp0 FileSystemWatcherはSynchronizingObject持ってんじゃん
設定しとけば勝手にBeginInvokeでイベントハンドラ呼んでくれるよ
設定しとけば勝手にBeginInvokeでイベントハンドラ呼んでくれるよ
893デフォルトの名無しさん (ワッチョイ 5d01-iyyE)
2019/10/05(土) 10:15:38.99ID:hjSAU91p0 質問なんですが
設定ってどこにどうやって保存してますか?
.configが今ならベストなんでしょうが、保存先が
C:\Documents and Settings\UserName\Local Settings\Application Data\
になり、.iniのように、アプリをコピーで2つの設定が使えるようになりません
.configはファイルの場所が遠くて変更しにくい、iniは古くてC#で扱いにくい
どうしてますか?
設定ってどこにどうやって保存してますか?
.configが今ならベストなんでしょうが、保存先が
C:\Documents and Settings\UserName\Local Settings\Application Data\
になり、.iniのように、アプリをコピーで2つの設定が使えるようになりません
.configはファイルの場所が遠くて変更しにくい、iniは古くてC#で扱いにくい
どうしてますか?
894デフォルトの名無しさん (ワッチョイ 5961-ogEr)
2019/10/05(土) 10:23:45.47ID:BObIlSOA0 >>893
インストールするアプリはユーザーデータフォルダのどっかに保存しないと駄目じゃん
どこでも置けるやつはexeと同じ階層に設定ファイルあったほうが使いやすいじゃん
ってだけしか気にしたことない
インストールするアプリはユーザーデータフォルダのどっかに保存しないと駄目じゃん
どこでも置けるやつはexeと同じ階層に設定ファイルあったほうが使いやすいじゃん
ってだけしか気にしたことない
895デフォルトの名無しさん (ワッチョイ 5d01-iyyE)
2019/10/05(土) 10:30:58.10ID:hjSAU91p0896デフォルトの名無しさん (ワッチョイ a95f-0RA9)
2019/10/05(土) 10:31:02.26ID:elsuYLim0897デフォルトの名無しさん (ワッチョイ 5961-ogEr)
2019/10/05(土) 10:34:16.80ID:BObIlSOA0898デフォルトの名無しさん (ワッチョイ a95f-0RA9)
2019/10/05(土) 10:43:34.43ID:elsuYLim0 >>897
元の質問に設定ファイルを手動で編集したいなんて書いてないが
元の質問に設定ファイルを手動で編集したいなんて書いてないが
899デフォルトの名無しさん (ワッチョイ b67c-MsYi)
2019/10/05(土) 10:47:20.84ID:xk/GxZ7j0 jsonもxmlもインデント関係ないから自由にさせろ
強制したいならyaml使え
強制したいならyaml使え
900デフォルトの名無しさん (ワッチョイ 6aad-y84I)
2019/10/05(土) 12:25:09.61ID:8Jk2Tveb0 >>897
インデントわろた
インデントわろた
901デフォルトの名無しさん (スフッ Sd0a-reJN)
2019/10/05(土) 12:42:35.73ID:sqkLDT76d >>897
インデントwwww
インデントwwww
902デフォルトの名無しさん (ワッチョイ 5961-ogEr)
2019/10/05(土) 15:47:01.45ID:BObIlSOA0 インデントっていうかカッコの対応?
でもその一点でxmlとjsonっておよびじゃ無くない?
これらを使うなら設定ツールが必要になると思う
でもその一点でxmlとjsonっておよびじゃ無くない?
これらを使うなら設定ツールが必要になると思う
903デフォルトの名無しさん (ワッチョイ 6aad-y84I)
2019/10/05(土) 16:03:44.47ID:8Jk2Tveb0 よく出てこれたな
904デフォルトの名無しさん (ワッチョイ 5961-ogEr)
2019/10/05(土) 16:30:09.26ID:BObIlSOA0905デフォルトの名無しさん (ワッチョイ 39e6-G1PU)
2019/10/05(土) 16:44:26.62ID:LN1PiSPK0 設定画面ぐらい作れよ
906デフォルトの名無しさん (ワッチョイ 6aad-y84I)
2019/10/05(土) 17:02:10.69ID:8Jk2Tveb0 >>904
よおインデント
よおインデント
907デフォルトの名無しさん (ワッチョイ 5d01-iyyE)
2019/10/05(土) 17:07:55.98ID:hjSAU91p0908デフォルトの名無しさん (ワッチョイ 39da-acgG)
2019/10/05(土) 17:16:21.03ID:q6cvuv6U0 >>906
よおインシデント
よおインシデント
909デフォルトの名無しさん (ワッチョイ 6a42-G1PU)
2019/10/05(土) 17:17:03.15ID:JDr+zhso0910デフォルトの名無しさん (スップ Sdea-BTjB)
2019/10/05(土) 18:01:24.61ID:vEDwovccd インポテンツ
911デフォルトの名無しさん (ワッチョイ 497d-G1PU)
2019/10/05(土) 18:06:22.26ID:PVJcrjgV0 初心者スレやからね
912デフォルトの名無しさん (ワッチョイ 5d01-iyyE)
2019/10/05(土) 19:34:08.92ID:hjSAU91p0913デフォルトの名無しさん (ワッチョイ e522-reJN)
2019/10/05(土) 19:36:45.83ID:1kVSHcIG0 令和の時代の新規プロジェクトでiniファイルはありえんだろw
914デフォルトの名無しさん (ワッチョイ e522-reJN)
2019/10/05(土) 19:38:02.29ID:1kVSHcIG0 >>912
今のところデファクトスタンダードなライブラリだね
今のところデファクトスタンダードなライブラリだね
915デフォルトの名無しさん (ワッチョイ 5961-ogEr)
2019/10/05(土) 19:39:42.31ID:BObIlSOA0 >>913
設定ファイルをユーザにどうして欲しいの?
設定ファイルをユーザにどうして欲しいの?
916デフォルトの名無しさん (ワッチョイ e522-reJN)
2019/10/05(土) 19:46:18.14ID:1kVSHcIG0917デフォルトの名無しさん (エムゾネ FF0a-MsYi)
2019/10/05(土) 19:51:52.36ID:kB6gz2T/F918デフォルトの名無しさん (ワッチョイ eaad-geL1)
2019/10/05(土) 19:56:00.01ID:8wZmV3QG0919デフォルトの名無しさん (ワッチョイ 5961-ogEr)
2019/10/05(土) 19:57:33.02ID:BObIlSOA0 >>916
jsonはカッコの対応で死ぬわ
っていうかxmlもjsonもiniファイル駆逐できるほど性能よくねーじゃん
っていうか用途が違うものを強引に適用しようとしてない?
設定ファイルに書いたコメントも消えちゃうしね
jsonはカッコの対応で死ぬわ
っていうかxmlもjsonもiniファイル駆逐できるほど性能よくねーじゃん
っていうか用途が違うものを強引に適用しようとしてない?
設定ファイルに書いたコメントも消えちゃうしね
920デフォルトの名無しさん (ワッチョイ 5961-ogEr)
2019/10/05(土) 20:01:44.88ID:BObIlSOA0 iniファイルを時代遅れだと主張するなら
xmlやjsonで吐き出して設定ツールぐらい用意しろってことかな?
それなら理解できるけど
xmlとjsonのテキスト編集はキツイ
xmlやjsonで吐き出して設定ツールぐらい用意しろってことかな?
それなら理解できるけど
xmlとjsonのテキスト編集はキツイ
921デフォルトの名無しさん (スフッ Sd0a-reJN)
2019/10/05(土) 20:08:26.65ID:1O88xYRBd ユーザーがやることはjsonの値をちょい変更するくらいなのになんでカッコ対応が問題になるんだよ
ユーザーがカッコを書く必要なんてないのに
ユーザーがカッコを書く必要なんてないのに
922デフォルトの名無しさん (ワッチョイ 5961-ogEr)
2019/10/05(土) 20:11:42.09ID:BObIlSOA0923デフォルトの名無しさん (ワッチョイ 3a2d-BBXA)
2019/10/05(土) 20:13:16.91ID:jRdA7zB80 話はよーわからんが、JSONに慣れれない人もそれがあんたの能力なんだから
しょうがないんじゃない
しょうがないんじゃない
924デフォルトの名無しさん (オッペケ Srbd-jw9j)
2019/10/05(土) 20:13:46.83ID:WowcC4IHr925デフォルトの名無しさん (ワッチョイ 5961-ogEr)
2019/10/05(土) 20:16:05.57ID:BObIlSOA0 そもそもバグったときに凶悪であることは認めるだろ?
俺らだってxmlやjsonファイルでユーザーが編集したおかしな箇所を
プログラムでピンポイントで指摘できない
このファイルは完璧でないと読めない
そんなモノをユーザーに触らせるような運用は間違っている
客がいいって言うならいいけど
俺らだってxmlやjsonファイルでユーザーが編集したおかしな箇所を
プログラムでピンポイントで指摘できない
このファイルは完璧でないと読めない
そんなモノをユーザーに触らせるような運用は間違っている
客がいいって言うならいいけど
926デフォルトの名無しさん (オッペケ Srbd-jw9j)
2019/10/05(土) 20:16:19.70ID:WowcC4IHr vscodeとかtsとかnode.jsとか設定はjsonだけど
それで大問題にはなってない
みんな使いこなしてる
何故君だけ使えない?
iniファイルなんて実際死んでるよ?
それで大問題にはなってない
みんな使いこなしてる
何故君だけ使えない?
iniファイルなんて実際死んでるよ?
927デフォルトの名無しさん (ワッチョイ 5961-ogEr)
2019/10/05(土) 20:16:43.74ID:BObIlSOA0928デフォルトの名無しさん (オッペケ Srbd-jw9j)
2019/10/05(土) 20:17:55.69ID:WowcC4IHr929デフォルトの名無しさん (ワッチョイ 5961-ogEr)
2019/10/05(土) 20:18:25.25ID:BObIlSOA0 >>928
え?開発者向けなん?
え?開発者向けなん?
930デフォルトの名無しさん (スププ Sd0a-reJN)
2019/10/05(土) 20:19:04.85ID:r/LR5Bg3d iniファイルとかWin16の時代の化石だろ
931デフォルトの名無しさん (オッペケ Srbd-jw9j)
2019/10/05(土) 20:19:40.75ID:WowcC4IHr 本当にいつまでボケ続けるのか
実務に携わってないんだろうなってのはわかる
空転を本人が気づいてない
実務に携わってないんだろうなってのはわかる
空転を本人が気づいてない
932デフォルトの名無しさん (ワッチョイ 3a2d-BBXA)
2019/10/05(土) 20:20:51.17ID:jRdA7zB80 よく出てくくる、一本道コードのVisual Basicおじさんでしょ
933デフォルトの名無しさん (ワッチョイ 5961-ogEr)
2019/10/05(土) 20:21:03.98ID:BObIlSOA0 はっきりさせておくけど
・設定ファイルをテキスト編集でユーザに触らせたい
→xmlやjsonは向かないんじゃない?
・設定ファイルをユーザに触らせない
→なんでもいいんじゃない?
ってことな
・設定ファイルをテキスト編集でユーザに触らせたい
→xmlやjsonは向かないんじゃない?
・設定ファイルをユーザに触らせない
→なんでもいいんじゃない?
ってことな
934デフォルトの名無しさん (ワッチョイ 5961-ogEr)
2019/10/05(土) 20:22:45.53ID:BObIlSOA0 あともう一つ
・ユーザは開発者である
→なんでもいいんじゃない
って感じな
・ユーザは開発者である
→なんでもいいんじゃない
って感じな
935デフォルトの名無しさん (オッペケ Srbd-jw9j)
2019/10/05(土) 20:24:09.45ID:WowcC4IHr ・設定ファイルをテキスト編集でユーザに触らせたい
の時点で間違ってる
バックアップすら取るかどうかわからんやつらに編集させんな馬鹿
の時点で間違ってる
バックアップすら取るかどうかわからんやつらに編集させんな馬鹿
936デフォルトの名無しさん (ワッチョイ 5d01-iyyE)
2019/10/05(土) 20:24:53.35ID:hjSAU91p0937デフォルトの名無しさん (ワッチョイ 5961-ogEr)
2019/10/05(土) 20:25:02.19ID:BObIlSOA0 >>935
じゃあ、俺と君の意見は一致してるね
じゃあ、俺と君の意見は一致してるね
938デフォルトの名無しさん (オッペケ Srbd-jw9j)
2019/10/05(土) 20:25:51.75ID:WowcC4IHr ボケた会社の〜ボケた開発者が〜ボケた客にボケたことをさせて〜
メンテナンス費用だけとるつもりですか〜
死ね糞ゴミ!
メンテナンス費用だけとるつもりですか〜
死ね糞ゴミ!
939デフォルトの名無しさん (ワッチョイ 3a2d-BBXA)
2019/10/05(土) 20:28:30.38ID:jRdA7zB80 でも、初心者なのに仕事を取ってくる勇気は大したもんだよね
940デフォルトの名無しさん (ワッチョイ eaad-geL1)
2019/10/05(土) 20:38:04.30ID:8wZmV3QG0 >>933
俺なら
>・設定ファイルをテキスト編集でユーザに触らせたい
→そんな仕様にはしない
なぜならあらゆるフォーマットに対応する実装とテストなんてしたくないし
そもそも設定をテキスト編集するアプリとか使いにくい
>・設定ファイルをユーザに触らせない
→xmlにする
なぜなら実装が簡単だし、開発者(俺)ならテキスト編集できるから
俺なら
>・設定ファイルをテキスト編集でユーザに触らせたい
→そんな仕様にはしない
なぜならあらゆるフォーマットに対応する実装とテストなんてしたくないし
そもそも設定をテキスト編集するアプリとか使いにくい
>・設定ファイルをユーザに触らせない
→xmlにする
なぜなら実装が簡単だし、開発者(俺)ならテキスト編集できるから
941デフォルトの名無しさん (ワッチョイ 15c5-kINo)
2019/10/05(土) 20:51:43.64ID:RYV31rLj0 レガシーコードってなんかかっこいいから、どんどん増やすべき。
伝説の武器みたいなものでしょう。
伝説の武器みたいなものでしょう。
942デフォルトの名無しさん (アウアウウー Sa21-5zAY)
2019/10/05(土) 21:28:22.83ID:Apziqq2fa943デフォルトの名無しさん (ドコグロ MM12-6eFW)
2019/10/05(土) 21:40:37.42ID:kmFdI7ZBM MSがJSON推しだからね
944デフォルトの名無しさん (ワッチョイ ea79-aTPZ)
2019/10/05(土) 21:42:52.25ID:mrk3SroR0 JSONは連想配列に順序の保証がない
デバッグで差分比較するとかができない
デバッグで差分比較するとかができない
945デフォルトの名無しさん (ワッチョイ 667b-/Gd9)
2019/10/05(土) 21:45:37.47ID:ZEfzfdRr0 連想配列に順序ってそんな重要なんか
946デフォルトの名無しさん (スププ Sd0a-reJN)
2019/10/05(土) 21:50:21.48ID:SzWcISg6d >>942
.NET標準でjson以外にほかにいろいろシリアイザがあるって、XML以外何かある?
.NET標準でjson以外にほかにいろいろシリアイザがあるって、XML以外何かある?
947デフォルトの名無しさん (ワッチョイ 5d01-iyyE)
2019/10/05(土) 21:54:42.26ID:hjSAU91p0948デフォルトの名無しさん (ワッチョイ eaa5-jw9j)
2019/10/05(土) 22:05:26.81ID:VWTAP42j0 json schema用意すればvscodeで補完効くし、間違いも指摘してくれるし、普通json使うわ
949デフォルトの名無しさん (アウアウウー Sa21-5zAY)
2019/10/05(土) 22:54:13.79ID:Apziqq2fa DataContractJsonSerializer、使ったことなかったが調べた感じ
一通りの機能はあるし、バージョントーレラントみたいだし、別にこれでもいいねw
バージョントーレラントじゃないと思ってたが、勘違いだったみたいだ。
一通りの機能はあるし、バージョントーレラントみたいだし、別にこれでもいいねw
バージョントーレラントじゃないと思ってたが、勘違いだったみたいだ。
950デフォルトの名無しさん (スププ Sd0a-reJN)
2019/10/05(土) 23:34:01.62ID:1i4Kj4Snd トーレラントって何かググってみたけど中華鍋しか出てこない
951デフォルトの名無しさん (ワッチョイ 2af9-aAvj)
2019/10/06(日) 01:39:32.41ID:z+z4mE1D0 確かにJsonはコメントが書けないか
コメント用の文字列メンバを予め確保すれば良いのかな
コメント用の文字列メンバを予め確保すれば良いのかな
952デフォルトの名無しさん (ワッチョイ 7dda-G1PU)
2019/10/06(日) 01:49:26.58ID:DPash9Py0 jsonのシリアライザ/デシリアライザは送受同じライブラリを使わないと、割とめんどい。
DateTimeの扱いとか。
あとライブラリによってはpublicクラスじゃないとダメとか変な制限があるものも・・
DataContractJsonSerializerは変換遅いし、いちいち[DataContract]や[DataMember]などのアノテーションがめんどい
DateTimeの扱いとか。
あとライブラリによってはpublicクラスじゃないとダメとか変な制限があるものも・・
DataContractJsonSerializerは変換遅いし、いちいち[DataContract]や[DataMember]などのアノテーションがめんどい
953デフォルトの名無しさん (ワッチョイ e522-reJN)
2019/10/06(日) 02:10:45.36ID:uOvq13Pn0 以前REST APIを作ったときはVisual Studioがjson.netを利用するコードを自動生成してたけど、今はDataContractJsonSerializer化されてるのかな?
954デフォルトの名無しさん (ワッチョイ 6aad-y84I)
2019/10/06(日) 07:22:38.42ID:DbrcOQgy0 >>953
System.Text.Json
System.Text.Json
955デフォルトの名無しさん (ワッチョイ b67c-WcZE)
2019/10/06(日) 11:26:53.05ID:yc9LKsYB0956デフォルトの名無しさん (ワッチョイ 3d6e-Qh1z)
2019/10/06(日) 12:18:55.28ID:jjEkd1/A0 windows formsアプリについての相談なんですけれど、ロジックと見た目を分けろって聞くじゃないですか。なのでそうしようと思ったんです
例えばユーザーコントロールを作って、そこに何かしらの処理を行うボタンを配置したとします
それで自分が考えたのは、計算をするクラスをユーザーコントロールクラスの内部クラスとして作る、ユーザーコントロールクラスのフィールドとしてその計算するクラスのインスタンスを持たせる
でボタンが押されるイベントで計算をするクラスのオブジェクト.calculate()みたいにする
設計としてはこんな感じでも大丈夫ですかね?アプリを作る時に内部のコードはこう実装するみたいなことを教えてくれる本が無くてどう設計していけばいいのかわからないんです
例えばユーザーコントロールを作って、そこに何かしらの処理を行うボタンを配置したとします
それで自分が考えたのは、計算をするクラスをユーザーコントロールクラスの内部クラスとして作る、ユーザーコントロールクラスのフィールドとしてその計算するクラスのインスタンスを持たせる
でボタンが押されるイベントで計算をするクラスのオブジェクト.calculate()みたいにする
設計としてはこんな感じでも大丈夫ですかね?アプリを作る時に内部のコードはこう実装するみたいなことを教えてくれる本が無くてどう設計していけばいいのかわからないんです
957デフォルトの名無しさん (ラクペッ MM65-V2QA)
2019/10/06(日) 12:29:48.44ID:ofI4YMfJM 右も左もわからないうちから俺俺アーキテクチャとか考えないで
MVCやMVVMでも勉強したらいいと思うよ
それから最強のアーキテクチャを考えるのでも遅くない
MVCやMVVMでも勉強したらいいと思うよ
それから最強のアーキテクチャを考えるのでも遅くない
958デフォルトの名無しさん (ワッチョイ 667b-qjLW)
2019/10/06(日) 12:31:03.82ID:U/2g+4lB0959デフォルトの名無しさん (ワッチョイ 5d01-iyyE)
2019/10/06(日) 13:48:38.81ID:wAV7A9/e0 >>955
cjsonはわかりやすいのかな、ちょっとしらべてみるさんくす
cjsonはわかりやすいのかな、ちょっとしらべてみるさんくす
960デフォルトの名無しさん (ワッチョイ 5ede-ogEr)
2019/10/06(日) 13:52:51.65ID:44yIwJmG0961デフォルトの名無しさん (ワッチョイ 39da-acgG)
2019/10/06(日) 14:51:46.94ID:BLgAYnXt0 そんな訳は(規模にもよるけど)当然無い。
962デフォルトの名無しさん (ワッチョイ 5961-ogEr)
2019/10/06(日) 15:03:12.76ID:Ih3UpniZ0 「既存メソッドの処理なんですが?ちょっと時間かかっちゃうんですよねー
プログレスバーとかつかないですかね?
処理の進行状況も表示して」
こんな簡単な要望ですら
そいつはケツまくって逃げ出すよ
花京院の魂を10000個ぐらいかけてもいい絶対だ
処理と表示は一見関係ないように見えて実は密接に関係していて
絶対に切り離せない
不可能なことを可能だと言う技術者を信用してはならない
何年もやっていてこの程度の因果関係もわからんような雑魚から
教えを請いてはならない
プログレスバーとかつかないですかね?
処理の進行状況も表示して」
こんな簡単な要望ですら
そいつはケツまくって逃げ出すよ
花京院の魂を10000個ぐらいかけてもいい絶対だ
処理と表示は一見関係ないように見えて実は密接に関係していて
絶対に切り離せない
不可能なことを可能だと言う技術者を信用してはならない
何年もやっていてこの程度の因果関係もわからんような雑魚から
教えを請いてはならない
963デフォルトの名無しさん (アウアウウー Sa21-5zAY)
2019/10/06(日) 15:33:01.89ID:ZrFisUz2a >>956
何でユーザーコントロールの話になるのかよく分からんけど、
>ユーザーコントロールクラスの内部クラスとして作る
この部分は変だけど(内部クラスにする必然性がない)、その後の部分はそういう認識でいいと思うよ。
FormでもUserControlでも、基本的に書いていいのは上に乗ってる
コントロールを操作するコードとイベントハンドラだけ。
何でユーザーコントロールの話になるのかよく分からんけど、
>ユーザーコントロールクラスの内部クラスとして作る
この部分は変だけど(内部クラスにする必然性がない)、その後の部分はそういう認識でいいと思うよ。
FormでもUserControlでも、基本的に書いていいのは上に乗ってる
コントロールを操作するコードとイベントハンドラだけ。
964デフォルトの名無しさん (ワッチョイ 6a42-G1PU)
2019/10/06(日) 18:11:15.25ID:SEX7i46w0965デフォルトの名無しさん (オッペケ Srbd-jw9j)
2019/10/06(日) 18:45:20.34ID:pgF6GacOr 自分は頭が悪すぎてIProgress<T>のどこが便利なのかわからないので
違う仕組みでやってる
違う仕組みでやってる
966デフォルトの名無しさん (ワッチョイ 5961-ogEr)
2019/10/06(日) 19:21:15.12ID:Ih3UpniZ0 >>964
はぁ?
既存の何も考えずに作ったメソッド(内部)のプログレスバー(表示)を分離したまま実装できないだろってのが俺のレスの主旨なんだけど
理解した上で反論しようとしてんの?
Mr.ドン・キホーテ?
はぁ?
既存の何も考えずに作ったメソッド(内部)のプログレスバー(表示)を分離したまま実装できないだろってのが俺のレスの主旨なんだけど
理解した上で反論しようとしてんの?
Mr.ドン・キホーテ?
967デフォルトの名無しさん (ワッチョイ 6a42-G1PU)
2019/10/06(日) 19:26:16.12ID:SEX7i46w0968デフォルトの名無しさん (ワッチョイ 5961-ogEr)
2019/10/06(日) 19:36:10.31ID:Ih3UpniZ0969デフォルトの名無しさん (ワッチョイ 492c-Fwoc)
2019/10/06(日) 19:38:07.20ID:fpn8B7qc0 昔はイベントハンドラで実装してたな
いまならObservablePropertyあたりでやるんかねRxとかどうも上手く使えてる気がしない
いまならObservablePropertyあたりでやるんかねRxとかどうも上手く使えてる気がしない
970デフォルトの名無しさん (ワッチョイ 492c-Fwoc)
2019/10/06(日) 19:43:10.12ID:fpn8B7qc0 >>968
いやできるだろう
いやできるだろう
971デフォルトの名無しさん (ワッチョイ 6a42-G1PU)
2019/10/06(日) 19:53:20.87ID:SEX7i46w0972デフォルトの名無しさん (オッペケ Srbd-jw9j)
2019/10/06(日) 20:02:50.65ID:dGqjDCnwr FormsだとしてもIProgressは不便だと思うよ
973デフォルトの名無しさん (ワッチョイ 6aad-y84I)
2019/10/06(日) 20:07:52.17ID:DbrcOQgy0 >>972
なぜ?
なぜ?
974デフォルトの名無しさん (アウアウイー Sa7d-Y1tm)
2019/10/06(日) 20:18:09.12ID:LuDxacSca ID:Ih3UpniZ0って昨日iniファイル以外認めないって主張してた御仁か
15〜20年くらい前のスキルしかもちあわせてない人でしょ
技術的なキャッチアップも人間性の向上も怠って年齢だけ重ねてる人だからこういう物言いしかできないんだろう
こういう人のいうことは表向きだけはいはいって聞いたふりして全部無視して問題ないよ
15〜20年くらい前のスキルしかもちあわせてない人でしょ
技術的なキャッチアップも人間性の向上も怠って年齢だけ重ねてる人だからこういう物言いしかできないんだろう
こういう人のいうことは表向きだけはいはいって聞いたふりして全部無視して問題ないよ
975デフォルトの名無しさん (オッペケ Srbd-jw9j)
2019/10/06(日) 20:27:29.93ID:dGqjDCnwr ほっとくとイベントの参照が残ってるのでひとりでに消えなくなってしまう
976デフォルトの名無しさん (ワッチョイ 492c-Fwoc)
2019/10/06(日) 20:39:48.56ID:fpn8B7qc0 >>975
backgroundworkerを自前で作らずにformに貼って、イベントもデザイナから作るといいよ
backgroundworkerを自前で作らずにformに貼って、イベントもデザイナから作るといいよ
977デフォルトの名無しさん (ワッチョイ 6aad-y84I)
2019/10/06(日) 20:40:18.92ID:DbrcOQgy0 >>975
ソース
ソース
978デフォルトの名無しさん (オッペケ Srbd-G1PU)
2019/10/06(日) 23:21:15.76ID:zXgX+PCrr ソースもくそもみんなそう
979デフォルトの名無しさん (オッペケ Srbd-G1PU)
2019/10/06(日) 23:28:20.92ID:zXgX+PCrr c# メモリリーク イベントハンドラ
980デフォルトの名無しさん (ワッチョイ 6aad-y84I)
2019/10/07(月) 00:20:35.80ID:ilJKwzD30 だからIProgressでメモリーリークするソース出せってば
981デフォルトの名無しさん (スフッ Sd0a-Fwoc)
2019/10/07(月) 07:55:39.68ID:PXpMNqVGd IProgressはインターフェースなんだからそれ自体がリークってのはおかしいでしょ。使い方が悪いだけでは…?
982デフォルトの名無しさん (ワッチョイ 6d63-V2QA)
2019/10/07(月) 08:49:33.99ID:jeQW+1qp0 オッペケは自殺して転生して自分の頭のバグ直してこいやボケ
983デフォルトの名無しさん (オッペケ Srbd-jw9j)
2019/10/07(月) 18:13:25.65ID:jsaaj6Lxr インターフェイスでメモリリークするわけがないはその通り
ただ単純なイベントハンドラベースだとうっかりメモリリークさせやすい
コンポジションなどで保持したままで寿命が違うと特にそう
c++だとメモリリークしやすいが使い方が悪い!ちゃんとつかえ!
という話で済まないので進化し続けてる
そのProgressというけど偽りでProgressと言う動作と何の関係もない
実際はどこからも使われないく自分で使うコードを書くだけなのでProgressである必要もない
どこが便利で使ってるのかさっぱりわからない
ただ単純なイベントハンドラベースだとうっかりメモリリークさせやすい
コンポジションなどで保持したままで寿命が違うと特にそう
c++だとメモリリークしやすいが使い方が悪い!ちゃんとつかえ!
という話で済まないので進化し続けてる
そのProgressというけど偽りでProgressと言う動作と何の関係もない
実際はどこからも使われないく自分で使うコードを書くだけなのでProgressである必要もない
どこが便利で使ってるのかさっぱりわからない
984デフォルトの名無しさん (オッペケ Srbd-jw9j)
2019/10/07(月) 18:17:14.49ID:jsaaj6Lxr 見返すとめちゃくちゃだけどIpregressは別にProgressに高度に特化されてないので
使う意味は薄いのではないか?
nさんがどう思うか知らないけど
使う意味は薄いのではないか?
nさんがどう思うか知らないけど
985デフォルトの名無しさん (ワッチョイ 6aad-y84I)
2019/10/07(月) 19:14:35.69ID:ilJKwzD30 ここまで具体的なコードは無し
986デフォルトの名無しさん (ワッチョイ 6a2f-2rUB)
2019/10/07(月) 20:06:05.04ID:GbsEPSwo0 >処理と表示は一見関係ないように見えて実は密接に関係していて
>絶対に切り離せない
ちゃんと考えて設計してもそうなるなら、絶望的にセンスがないわ
おまえに不可能なことが技術的に不可能なこととは違うよ
>絶対に切り離せない
ちゃんと考えて設計してもそうなるなら、絶望的にセンスがないわ
おまえに不可能なことが技術的に不可能なこととは違うよ
987デフォルトの名無しさん (ワッチョイ 667b-qjLW)
2019/10/07(月) 20:18:37.37ID:9eyAES450 次スレ
ふらっと C#,C♯,C#(初心者用) Part145
https://mevius.5ch.net/test/read.cgi/tech/1570446977/
ワッチョイ無しは
ふらっと C#,C♯,C#(初心者用) Part141
https://mevius.5ch.net/test/read.cgi/tech/1544838367/
ふらっと C#,C♯,C#(初心者用) Part145
https://mevius.5ch.net/test/read.cgi/tech/1570446977/
ワッチョイ無しは
ふらっと C#,C♯,C#(初心者用) Part141
https://mevius.5ch.net/test/read.cgi/tech/1544838367/
988デフォルトの名無しさん (オッペケ Srbd-jw9j)
2019/10/07(月) 21:20:35.04ID:jsaaj6Lxr >>985
理解できないなら無理にレスしなくてもよい
理解できないなら無理にレスしなくてもよい
989デフォルトの名無しさん (アウアウウー Sa21-qxT7)
2019/10/07(月) 21:45:53.70ID:/mGKDAACa >>987
乙
乙
990デフォルトの名無しさん (ワッチョイ b501-acgG)
2019/10/07(月) 22:15:03.54ID:QEMDFqtE0 >>987
乙
乙
991デフォルトの名無しさん (ワッチョイ 6aad-y84I)
2019/10/07(月) 22:16:20.26ID:ilJKwzD30 >>988
はよ
はよ
992デフォルトの名無しさん (ワッチョイ 5961-ogEr)
2019/10/07(月) 22:40:26.54ID:H1QHa3mL0993デフォルトの名無しさん (ワッチョイ 6a42-G1PU)
2019/10/07(月) 22:42:41.65ID:d+4AHn7d0 IProgressというか、その実体のProgres<T>クラスは、普通に使えばメモリーリークなんか起こらないんだよな
イベントじゃなくてActionデリゲート使ってメンバ変数など使わずにローカル変数で定義して
処理を実行するたびにインスタンス作ればいいだけ
ラムダ使えない人はご愁傷さまとしか言えません
イベントじゃなくてActionデリゲート使ってメンバ変数など使わずにローカル変数で定義して
処理を実行するたびにインスタンス作ればいいだけ
ラムダ使えない人はご愁傷さまとしか言えません
994デフォルトの名無しさん (オッペケ Srbd-G1PU)
2019/10/07(月) 22:50:14.57ID:jsaaj6Lxr995デフォルトの名無しさん (オッペケ Srbd-G1PU)
2019/10/07(月) 22:52:08.75ID:jsaaj6Lxr それと
> 普通に使えばメモリーリークなんか起こらないんだよな
と
> イベントじゃなくてActionデリゲート使ってメンバ変数など使わずにローカル変数で定義して
> 処理を実行するたびにインスタンス作ればいいだけ
は矛盾してるよね?
> 普通に使えばメモリーリークなんか起こらないんだよな
と
> イベントじゃなくてActionデリゲート使ってメンバ変数など使わずにローカル変数で定義して
> 処理を実行するたびにインスタンス作ればいいだけ
は矛盾してるよね?
996デフォルトの名無しさん (スププ Sd0a-reJN)
2019/10/07(月) 22:53:10.67ID:s9APxj2Ed >>994
複数のアクションを実行するアクションを渡す
複数のアクションを実行するアクションを渡す
997デフォルトの名無しさん (ワッチョイ 6a42-G1PU)
2019/10/07(月) 22:59:52.41ID:d+4AHn7d0 >>995
サンプルぐぐっても、イベント使ったりクラスのメンバ変数にして使い回すって方が邪道じゃないかな?
サンプルぐぐっても、イベント使ったりクラスのメンバ変数にして使い回すって方が邪道じゃないかな?
998デフォルトの名無しさん (ワッチョイ 492c-q6lj)
2019/10/07(月) 23:21:18.60ID:cpqLM3c60 >>986
多分切り離すとか分離するの意味を根本から間違えて捉えてるんだと思うので無駄だよ。関心の分離の基本がわかってない
多分切り離すとか分離するの意味を根本から間違えて捉えてるんだと思うので無駄だよ。関心の分離の基本がわかってない
999デフォルトの名無しさん (ワッチョイ a95f-p+4i)
2019/10/09(水) 02:47:43.58ID:mpcY/05P0 ぅ
1000デフォルトの名無しさん (ワッチョイ a95f-p+4i)
2019/10/09(水) 02:47:58.78ID:mpcY/05P010011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 84日 11時間 11分 35秒
新しいスレッドを立ててください。
life time: 84日 11時間 11分 35秒
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を超えています。これ以上書き込みはできません。
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 清涼飲料水から麻薬成分東京都が注意喚起 [おっさん友の会★]
- 生活保護廃止、公務員の給与に最低賃金を適用⇦これをやるだけで国民の9割の不満が解消されるのにやらない理由 [218488394]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
- 【動画】男女混合レスリングのガチ試合の様子がこちら [738130642]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 【日刊】暇空茜、また敗訴🥸 [359965264]
- 台湾政党が高市首相「存立危機事態」発言に感謝の書簡「我々の心を強く奮い立たせるものでした」 [834922174]
