!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
■ このスレッドは過去ログ倉庫に格納されています
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の併用だね
秀丸は起動が速いから
秀丸は起動が速いから
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 ★2 [お断り★]
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 [お断り★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★5 [ぐれ★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★4 [BFU★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 ★2 [おっさん友の会★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 [ぐれ★]
- 【悲報】高市早苗さん、もう辞職しか選択肢がない… [271912485]
- 【愛国者速報】フィフィ、中国の“日本産水産物輸入停止”措置に私見「中国依存しないとやっていけない企業は考えを改めて」 [856698234]
- 【ござる専🏡】風間🥷配信実況スレ🏯【風間いろは】
- 中国・環球時報「沖縄は日本領ではないのでは?」高市 [931948549]
- 【速報】中国政府、ゲームを禁輸。原神やブルアカ、荒野行動が日本で影響 [347751896]
- 中国「私達が怒ってるのは日本の政治家に対してで、日本の観光客や日本企業はこれまで通り歓迎する。これこそが大国としての余裕」 [377482965]
