1 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 15:36:23.74 ID:i1fbuZ/pM.net] !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/ ■コードを貼る場合は↓を使いましょう。 ideone.com/ https://dotnetfiddle.net/ ■前スレ ふらっと C#,C♯,C#(初心者用) Part143 https://mevius.5ch.net/test/read.cgi/tech/1558002486/ ■情報源 https://docs.microsoft.com/ja-jp
2 名前:/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 mailto:ふらっと C#,C♯,C#(初心者用) Part144 [] [ここ壊れてます]
3 名前:デフォルトの名無しさん [2019/07/16(火) 15:44:15.40 ID:uLn4rkdXF.net] O2
4 名前:デフォルトの名無しさん [2019/07/17(水) 10:08:14.00 ID:5/22vZUf0.net] もしわかったら助けてください VS2017 c# Windowsフォームで、textboxのKeyDownイベントで別のTextBoxをアクティブにする関数を作ったのですが なぜかフォームが非アクティブになってしまいます KeyDownイベントでなく、テストボタンを作ってClickイベントで関数を呼び出すと正常に動作します 何か考えられる原因ってあるでしょうか…
5 名前:デフォルトの名無しさん mailto:sage [2019/07/17(水) 10:20:06.72 ID:QuDmOW+q0.net] >>3 下キーで別のコントロールにフォーカスが移ってるのでは?
6 名前:デフォルトの名無しさん mailto:sage [2019/07/17(水) 10:23:43.96 ID:9uoKRG3i0.net] spy++の出番だな
7 名前:デフォルトの名無しさん mailto:sage [2019/07/17(水) 10:26:55.94 ID:9uoKRG3i0.net] フォームが非アクティブ=別フォームor デスクトップがアクティブでは無く?
8 名前:デフォルトの名無しさん mailto:sage [2019/07/17(水) 10:50:55.66 ID:5/22vZUf0.net] keydownでなくkeyupイベントで処理したら理想通りになりました どうして…? >>4 multilineのテキストボックスで移動はしていないようです >>6 そもそもフォームを1つしか作っていないんです
9 名前:デフォルトの名無しさん mailto:sage [2019/07/17(水) 15:38:10.55 ID:/p35zq9TM.net] キーダウン後にセットフォーカスなんじゃん? キーアップだとセットフォーカス後なのでうまくいくとか?
10 名前:デフォルトの名無しさん mailto:sage [2019/07/17(水) 18:48:12.22 ID:16aW/iRU0.net] >>3 こういうことやりたいの? ideone.com/JvzEb7 Atexで入力しようとするとBtexがアクティブになってそっちに文字入力される ただしAtexで入力された最初の一文字はこのコードだと捨てられるから、それも入力したいのならもうひと手間かけないと ここ参考に TextBoxに数字しか入力できないようにする https://dobon.net/vb/dotnet/control/numerictextbox.html#section1 KeyDownでもできるけどKeyPressでやるのがより一般的っぽい ただe.Handled = trueやe.SuppressKeyPressを外してもフォームが非アクティブになるのは無いから、それは書いてない別の原因があるはず
11 名前:デフォルトの名無しさん [2019/07/18(木) 02:37:55.39 ID:JiMlnGX40.net] DateTimePickerの継承コントロールを作っているのですが、カレンダーや手入力で日付を変更しても、Valueの値が変わりません。 何が原因でしょうか? ※Deleteキーが押されたらnullになり、その他のキーが押されたら、nullになる前の日付が表示されるようにしたつもりです。 ideone.com/BRM6jo
12 名前:10 mailto:sage [2019/07/18(木) 03:27:19.51 ID:JiMlnGX40.net] ほんとにしょーもない見落としでした(´・ω・`) コンストラクタに、 TextChanged += (sender,e) => Value = DateTime.Parse(Text); 入れたら動きました。
13 名前:10 mailto:sage [2019/07/18(木) 03:39:32.99 ID:JiMlnGX40.net] 正常な日付 or null のどっちかにしかならない必要があるので、以下のほうがよかったです。 TextChanged += (sender, e) => { if (String.IsNullOrWhiteSpace(Text)) Value = null; else Value = DateTime.Parse(Text); };
14 名前:デフォルトの名無しさん mailto:sage [2019/07/18(木) 07:02:48.53 ID:teqAmMY+0.net] ASP.NETのWEBフォームで特定のページを誰かが開いていたら他の人は開けないようにしたいのですがどういう実装で実現出来るでしょうか? ページをオープン中という状態を知る術が見付からずに困っています C#で作っているというだけで使う技術は多岐に及びそうですがよろしくお願いします
15 名前:デフォルトの名無しさん mailto:sage [2019/07/18(木) 08:03:49.72 ID:Q7y8Xu/qM.net] 定期的にajaxで閲覧中のステータスを5秒おきにサーバに送信して 最後の送信から15秒くらいの時間が経過したら 他のユーザーにアクセスを許可すれば良いんじゃね?
16 名前:デフォルトの名無しさん mailto:sage [2019/07/18(木) 10:18:40.31 ID:926jk5Fkd.net] ちょうどそんな実装してるけど、ロック掛ける(+掛けれなかったら掛けてる奴返す)ためのajaxで呼ぶAPIと、ロック解除するAPI作ってる。 ロックはTTL60秒。クライアントから30秒ごとに延長かけてる。 JSのoncloseかなんかでロック解除API叩いてるけど、たたき漏れは今のところ無い。
17 名前:デフォルトの名無しさん mailto:sage [2019/07/18(木) 10:53:36.62 ID:xGZEok3k0.net] webからダウンロードした画像をメモリ上に保持してるんだけど dispose忘れがなかなか厄介 GCでdisposeさせるかそれに近い動作をするものってないものかな
18 名前:デフォルトの名無しさん mailto:sage [2019/07/18(木) 11:13:33.22 ID:6A8bU/H4a.net] >>16 逆にGCは何をすると思ってるの? マネージドの場合事実上「GCでDispose」されると思っていいはず。 だから本当に怖いのはdispose忘れじゃなくて、 イベントの購読の解除を忘れるとかして参照を間接的に握られ続けること
19 名前:10 mailto:sage [2019/07/18(木) 13:26:02.08 ID:JiMlnGX40.net] すみません。 予想通りに動いたと思ってたんですが、"Value = 値" という方法で値を設定すると反映されません。 どうすればよいでしょうか・・・ ideone.com/UcN1cB
20 名前:デフォルトの名無しさん mailto:sage [2019/07/18(木) 13:36:05.50 ID:ydKHj7N/0.net] Value = DateTime.Parse(Text); じゃなくて DateTime.TryParseを使って、日付に変換できる場合のみセット
21 名前:デフォルトの名無しさん mailto:sage [2019/07/18(木) 13:47:58.03 ID:eovQbio40.net] そりゃbase.Valueに値設定しなけりゃ表示変わらんでしょ
22 名前:デフォルトの名無しさん mailto:sage [2019/07/18(木) 13:50:06.72 ID:1HV7iRhh0.net] お知恵をお借りしたく。。。 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); }
23 名前:デフォルトの名無しさん mailto:sage [2019/07/18(木) 13:53:58.03 ID:6lFXmRU70.net] AddRange
24 名前:デフォルトの名無しさん mailto:sage [2019/07/18(木) 13:57:35.04 ID:NtL98NX40.net] var bbb = aaa.Select( x=> x.total ).ToList();
25 名前:デフォルトの名無しさん mailto:sage [2019/07/18(木) 14:04:12.94 ID:1HV7iRhh0.net] >>23 神現る。ありがとう!
26 名前:デフォルトの名無しさん mailto:sage [2019/07/18(木) 19:17:58.78 ID:teqAmMY+0.net] >>14 なる程 webを質問するとC#の枠組みを超えてしまうのでアレですが有用なアイデアありがとうございます
27 名前:デフォルトの名無しさん [2019/07/18(木) 20:46:46.74 ID:c4BAkJVY0.net] >>17 てっきりbitmapは明示的にdisposeしないとメモリリークするのかと思ってたんだけど 都度GC.Collect()してみたらdisposeしなくても大丈夫だったわ ありがと
28 名前:デフォルトの名無しさん mailto:sage [2019/07/19(金) 16:29:04.35 ID:g/qsh+DNa.net] >>26 disposeすると今すぐメモリを解放してくれる。しないとガベコレが走るタイミングまで待たされる。GC.Collectは今すぐガベコレする。
29 名前:デフォルトの名無しさん mailto:sage [2019/07/19(金) 20:25:52.26 ID:VLsw2rVZM.net] >>27 大手の担当者(客)とか絶対理解できないから定期実行(十分に一度)してるわ やらないと リークだリークだうるせぇんだこれが
30 名前:デフォルトの名無しさん mailto:sage [2019/07/19(金) 21:26:29.42 ID:5+qJlswgM.net] >>27 bitmapを凄い勢いで作るプログラムを前に書いたら メモリ不足で例外を吐いた事があったのよ んでGCで解放されないのかと思ってたわ
31 名前:デフォルトの名無しさん mailto:sage [2019/07/19(金) 21:30:00.71 ID:KvrVBoUe0.net] >>29 でもVSのモニタを見るとGCって結構な短期間で動いてくれるんだよな GC.Collectはブラシーボ効果しかない
32 名前:デフォルトの名無しさん mailto:sage [2019/07/19(金) 21:36:05.87 ID:IuwL/lPHM.net] Bitmapはファイナライザを実装してるから2回GCが走らないと解放されない あと頻繁に動いてるのは最も浅い世代のGen0GCで、GCを生き残って昇格してしまったオブジェクトを回収させるにはGC.Collectは有効
33 名前:デフォルトの名無しさん mailto:sage [2019/07/19(金) 22:21:52.99 ID:A6fR/TKy0.net] >>30 遅いマシンで 割と重めのアプリを一日経ってからやってみ 3分ぐらいはフリーズするよ stop the worldというだけはある
34 名前:デフォルトの名無しさん mailto:sage [2019/07/20(土) 02:43:36.72 ID:HA7JgwCb0.net] >>30 試してみたらGCが一度も走らずに即死した GC.Collectしないとマズそう https://i.imgur.com/sR1A0ME.jpg
35 名前:デフォルトの名無しさん mailto:sage [2019/07/20(土) 20:49:53.26 ID:hrLeGUFN0.net] 時間はかかっても、MSゴシックなら正常に動作するんですが 游ゴシックを指定すると、なぜか文字が重なり合ったりして正常に表示されません g.DrawString(new String('@', 5000000), drawFont, Brushes.Black, 0, 0);
36 名前:デフォルトの名無しさん mailto:sage [2019/07/20(土) 21:01:47.46 ID:IDb6GPRz0.net] >>34 描画先に十分なスペースはあるの? フォントサイズ減らしたら改善するとかは無い? それで無理なら一行ずつ描画するしかないな
37 名前:デフォルトの名無しさん mailto:sage [2019/07/20(土) 21:13:32.08 ID:hrLeGUFN0.net] 文字列を短くするとちゃんと表示されます
38 名前:デフォルトの名無しさん mailto:sage [2019/07/20(土) 21:23:14.33 ID:IDb6GPRz0.net] あ、Rectangle指定しないと折り返さないのか? https://dobon.net/vb/dotnet/graphics/drawstring.html >>36 意図的に無茶な指定しているのなら不具合が起こってもしょうがないと思う
39 名前:デフォルトの名無しさん mailto:sage [2019/07/21(日) 12:10:16.19 ID:AXqQTYqQ0.net] Webbrowser で表示されているある部分をクリックしてAjaxで動的にHTMLが変化する場合 documentcompleted は発生しませんが HTMLの変化を検知するにはどうするのがいいのでしょうか? タイマーを使ってWebbrowser のHMTLの内容を比較するくらいしかないですかね?
40 名前:デフォルトの名無しさん mailto:sage [2019/07/21(日) 12:43:20.58 ID:P7LE/kkP0.net] >>38 UWPのWebViewなら、スクリプトを直接呼び出して完了待ちとか出来るよ FormsやWPFからでも使えるようになっているみたいだから頑張ればなんとかなる 勿論UWPで作るってのもアリだが
41 名前:デフォルトの名無しさん mailto:sage [2019/07/21(日) 13:44:31.17 ID:AXqQTYqQ0.net] >>39 理想的な動作です UWPでやってみます ありがとうございます
42 名前:デフォルトの名無しさん mailto:sage [2019/07/22(月) 01:46:10.70 ID:fKk8m16B0.net] どんな処理に対してどんな例外処理をすればよいのか理解出来ないのですが、 「〇〇メソッドが投げる可能性がある例外」という感じの一覧みたいなものってないでしょうか?
43 名前:デフォルトの名無しさん mailto:sage [2019/07/22(月) 02:11:10.76 ID:Z/C74OJi0.net] >>41 Docsの.NET Framework API リファレンスの各メソッドの説明に載ってる
44 名前:デフォルトの名無しさん mailto:sage [2019/07/22(月) 15:09:04.83 ID:9U8T6M8Za.net] >>41 他にも、VisualStudio上でメソッドにカーソルを合わせると出てくるツールチップで「例外」箇所に型が載っていたり F12で定義に移動した後のコメント中で「例外」箇所に型と理由が載っていたりする
45 名前:デフォルトの名無しさん mailto:sage [2019/07/22(月) 20:31:22.66 ID:bxEn3DSVr.net] >>38 WinFormのWebBrowserでajaxで読み込みはタイマーみたいなの使って取れてる
46 名前:デフォルトの名無しさん mailto:sage [2019/07/23(火) 21:30:46.97 ID:roLN7w1Qd.net] ざっくりで失礼します。 面白半分にc#でエロや風俗系を作れたらいいなと思ったのですが案ありますか? なかなか思いつかなくてw
47 名前:デフォルトの名無しさん mailto:sage [2019/07/23(火) 21:34:28.66 ID:zEKbbod30.net] >>45 C#+Unityのエロゲなんかいっぱいあるでしょ そしてこの板で聞くことじゃない
48 名前:デフォルトの名無しさん mailto:sage [2019/07/23(火) 21:41:17.09 ID:Uygc18n30.net] >>46 言われてみればそうですね 失礼しました。
49 名前:デフォルトの名無しさん mailto:sage [2019/07/23(火) 23:55:04.04 ID:SedAptpn0.net] 草
50 名前:デフォルトの名無しさん mailto:sage [2019/07/25(木) 16:27:29.05 ID:UXkDZrqn0.net] 変態さんでいっぱいだ 前スレのエロ画像スクレイピングマンは成功したのかな
51 名前:デフォルトの名無しさん mailto:sage [2019/07/26(金) 03:11:13.96 ID:8BXDtT/D0.net] エロ画像なんて厳選して保存しないとすぐ500GBぐらいいくだろうに
52 名前:デフォルトの名無しさん mailto:sage [2019/07/26(金) 12:52:05.57 ID:53dis5oN0.net] 動画ならともかく画像で500GBはベテランの領域。
53 名前:デフォルトの名無しさん mailto:sage [2019/07/26(金) 13:12:23.94 ID:53dis5oN0.net] コンテキストメニューを定義して、それを別コントロールに割り当てて、 それを更に別のフォームからクリックで実行したく、下記の構造にしているのですが、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 += //クリックイベント } }
54 名前:デフォルトの名無しさん mailto:sage [2019/07/26(金) 16:05:13.49 ID:uxWd1qa6a.net] >>52 ごめん何がしたいのかさっぱり分からんw
55 名前:デフォルトの名無しさん mailto:sage [2019/07/26(金) 16:28:06.90 ID:Kg/2nYdc0.net] コンテキストメニューがnewされてないから例外が出るね
56 名前:デフォルトの名無しさん mailto:sage [2019/07/26(金) 17:02:58.89 ID:VkzQYvSYM.net] 普通にメニュー出してsendmessageでええよ?
57 名前:デフォルトの名無しさん mailto:sage [2019/07/26(金) 17:08:02.31 ID:Kg/2nYdc0.net] なんとなくの違和感なんて知らんが 要するに何をどうしたいんだか
58 名前:デフォルトの名無しさん mailto:sage [2019/07/26(金) 18:11:15.82 ID:tpwQJJNh0.net] 違和感 スポーツ選手みたいやなw 右肩に違和感を・・・ ○○.cppに違和感を感じ納品を見送ったとのことです
59 名前:デフォルトの名無しさん mailto:sage [2019/07/27(土) 07:50:47.17 ID:1So0tMH70.net] 質問する技術が足りてない とにかく違和感とかいう抽象的なことじゃなくて具体的に
60 名前:デフォルトの名無しさん [2019/07/27(土) 23:40:34.97 ID:NQ4+UjHL0.net] 配列添字演算子付のpropertyはありますか? イメージ的には public int MyIDList[int]{ set{this.myIDList[idx] = value;} get{return this.myIDList[idx];} } みたいな事がしたいです
61 名前:デフォルトの名無しさん mailto:sage [2019/07/27(土) 23:46:47.22 ID:+ZEWiPdqa.net] >>59 ない
62 名前:デフォルトの名無しさん mailto:sage [2019/07/27(土) 23:48:18.25 ID:NQ4+UjHL0.net] >>60 ありがとうございます
63 名前:デフォルトの名無しさん mailto:sage [2019/07/27(土) 23:49:00.45 ID:F72yN9ZSM.net] できない インデックスの渡し方しか考えてないようだけど それだとLengthやforeachで回せる機構など 配列に必要な関数群も仕組みもないだろ? 素直にListから継承させるか インデックスを引数で渡せばいいじゃない
64 名前:デフォルトの名無しさん [2019/07/28(日) 00:26:47.42 ID:vg9qDEAT0.net] んん、インデクサのことではなくて? https://ufcpp.net/study/csharp/oo_indexer.html
65 名前:デフォルトの名無しさん mailto:sage [2019/07/28(日) 00:35:17.04 ID:GU+doGlgM.net] それはクラスにインデクサが付く話だし プロパティには持たせられないじゃん
66 名前:デフォルトの名無しさん mailto:sage [2019/07/28(日) 00:49:15.67 ID:zR0XYwX4a.net] >>63 質問者がやりたいのはそのリンク先の「余談: VB のインデックス付きプロパティ」のこと C#で出来ないようにしている理由はリンク先に書かれているし >>62 も書いてくれている
67 名前:デフォルトの名無しさん mailto:sage [2019/07/28(日) 01:53:35.14 ID:GU+doGlgM.net] まあたださ class p { List<double> da; double center[int index]{ get {return (da[index+1] - da[index]; } } } みたいに、クラスの配列データを元に 仮装配列的なものを作りたいんだろうなと思う 昔俺もやりたくて調べまくったよ これを今のc#で実現しようとすると、わざわざプロパティごとにクラス化なきゃいけないし クラスの生成や配列を振る舞うクラスに元データを渡すのとか非常に面倒になる そこまで出来たとしてもメリットはインデックスを[]で渡せるだけで 配列(っぽいもの)ですよとコード上で示せるだけ 普通に関数実装で[]表記以外は同じことが出来るので コードの美しさ的には不満があるけど 実装上は困らないんだよな 単純に関数の引数は()でも[]でも囲めるようにしてくれたら簡単なんだけどね
68 名前:デフォルトの名無しさん mailto:sage [2019/07/28(日) 07:11:46.83 ID:iidlab190.net] ttps://ideone.com/DcIIzB
69 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 09:26:09.88 ID:IhJrxMBNM.net] constって継承できないもんかな 継承クラスで定数を変えたいんだけど 何か上手い方法はないだろうか
70 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 09:51:52.35 ID:MQBecH/v0.net] できないので、諦めてオーバーライド可能なメンバでやって そういう機能が欲しいなら、githubで提案してくるとよい ここで喋っても入らないのでそのつもりで高説は垂れるように
71 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 09:53:45.93 ID:aYg/q9jya.net] >>68 隠蔽(new)は出来るでしょ 継承というかoverrideはインスタンスメンバーを上書きするものであり、 constは本質的にstaticメンバーなんで、継承でconstを変更という発想はそもそも矛盾してるんじゃないの?
72 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 10:10:15.53 ID:nToTFkzEd.net] constは埋め込みだから無理 コーディングを見やすくしてるだけなんよ static virtual readonly とか…できるんかな書いたことないけど
73 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 10:22:24.95 ID:IhJrxMBNM.net] 単純にこんな実装がしたいんだよね オブジェクトの詳細で表示する名称表示とかさ 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 “楕円“; }
74 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 10:31:59.35 ID:AKu0TaFKM.net] >>68 定数を返すだけの読み取り専用のプロパティにする
75 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 10:40:17.04 ID:B9XYpo8O0.net] >>73 これ
76 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 12:17:38.06 ID:AKu0TaFKM.net] >>72 読み取り専用プロパティはもうちょっとコンパクトに書ける override string ObjectName => "楕円";
77 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 12:33:54.79 ID:vSU/UXgGa.net] https://ideone.com/R6UBzL あんまり面白くないねw
78 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 12:49:16.40 ID:IhJrxMBNM.net] >>75 おお、いいですね!活用させてもらいます!
79 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 13:37:48.40 ID:k9k21JDF0.net] >>68 readonly使うのが定石
80 名前:デフォルトの名無しさん [2019/07/31(水) 15:31:35.93 ID:tEceTxskd.net] MacでC#勉強してみたいんですがVisual Studio入れないと厳しいですか? VS Codeだけでは難しいですか?
81 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 16:00:55.32 ID:lLYOef6LM.net] MacでC#を勉強するメリットはないから他の言語にしとき 唯一意味があるのはUnityでゲーム作る用途だから、Unity入れてC#やってみるのはまあアリ
82 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 18:13:54.85 ID:vBQ8AC7J0.net] >>79 言語の学習目的なら.NET Core SDKとVSCodeでじゅうぶん
83 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 18:27:29.21 ID:SBa7OC8vd.net] >>79 難しくないよ
84 名前:デフォルトの名無しさん [2019/07/31(水) 18:38:19.42 ID:quxH8qSha.net] >>79 変な意地をはらずに一番イージーな道を選択した方がいいよ つまらないことに時間を浪費したいの?w
85 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 18:43:57.13 ID:lLYOef6LM.net] >>83 その理屈だとBootcampでWindowsをインストールするのが最善ということになってしまう VS for Macなんかほとんど誰も使ってないんだから、時間の浪費という意味ではVSCodeといい勝負だわ
86 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 19:10:03.53 ID:9TaORHsg0.net] Listでindex aのアイテムをindex bにインサートするスマートな方法はないだろうか aをremoveしてbにインサートすると、a>=bならいいけど、a<bの時 removeでインデックスがズレるので狙いより1つ下に行ってしまう 一番下だと範囲外の例外が起きてしまう できればこれを実行するメソッドを作って既にあるList<T>を拡張したいんだけど ヘルパークラス的なものって作れないかな?
87 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 20:05:23.41 ID:i+V4gIP9a.net] >>85 「拡張」という言葉の意図がわからないけど ヘルパークラス作って静的メソッドや拡張メソッドとして定義すれば良いんじゃない? List<T>を継承したオレオレListでメソッド定義、という方法は止めとけ
88 名前:デフォルトの名無しさん [2019/07/31(水) 20:12:36.58 ID:quxH8qSha.net] >>85 やってみたが例外なんか出ないけど https://ideone.com/CazHs2
89 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 21:18:24.59 ID:uxU05rGA0.net] >>79 両方使って比較してみては
90 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 23:06:20.36 ID:9TaORHsg0.net] >>87 2 to 9なのに1が9に移動しちゃうでしょ?
91 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 23:07:54.33 ID:9TaORHsg0.net] ああごめん、リストの再生成をしてないのね
92 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 23:27:27.06 ID:9TaORHsg0.net] 申し訳ない、コードを見直したら質問の前提を間違えてました やりたかったのは List<T> というリストがあった場合に リストに入っているかわからないオブジェクトaを リストに入っているオブジェクトbの1つ後に挿入する …というメソッドを作りたかったんです List<T>.MoveAfter(T b,T a) //リスト内bの後ろにaを挿入、aがList内にある場合は元の位置から移動させる で、このメソッド自体の実装はできているんですが いただいたサンプルのextensionsの記述がよくわからず質問しました おかげでうまく実装できました、ありがとうございます!
93 名前:デフォルトの名無しさん mailto:sage [2019/08/01(木) 08:01:53.51 ID:xGy0TEOb0.net] >>79 他の人も言ってるけど、unityでC#使ってるよ C#自体の勉強ならこれで出来る 当然、WindowsアプリをC#で作れるようなスキルは得られないが
94 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 00:28:39.75 ID:pwBgdUBF0.net] c#とvsの至れり尽くせり感に慣れすぎて他の開発環境でできなくなりました
95 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 00:45:41.15 ID:RRmMDCsx0.net] そうなんだよなー VSは使いやすすぎる Delphiの開発者を引き抜いてきただけあるわ
96 名前:デフォルトの名無しさん [2019/08/02(金) 00:52:16.45 ID:80wMhccea.net] 最低限IDEで自動ビルドなら慣れれば貧弱な環境も楽しいよ インテリセンスなんかないから長い識別子をダブルクリック & Ctrl + C ⇒ Ctrl + V ばっかりしてたら左手が腱鞘炎になっちゃったけどw
97 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 09:27:47.59 ID:NmFjjWZQ0.net] 秀丸ですらファイル内入力補完あるよ
98 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 13:45:35.78 ID:E5BJDT7zM.net] 秀丸御殿が建ってる偉大なエディタに対して「ですら」って
99 名前:デフォルトの名無しさん [2019/08/02(金) 14:01:07.04 ID:ktX3qXN3a.net] 大昔試用したことあるけどまだ存在するんだw いい加減タブ化とかしたのかな しかし、日本人も真面目に作者に金払って使う人結構いるんだね
100 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 14:48:47.26 ID:NmFjjWZQ0.net] いや秀丸はすげーと思うけど言語解析までするIDEと比較してテキストエディタですら入力補完あるのにコピペ頑張らんでもええやん、って話 タブ化は10年前くらいには対応してたはず vscodeも良いけど軽さはやっぱ秀丸のほうが良いから今でもちょいちょい起動するよ
101 名前:デフォルトの名無しさん [2019/08/02(金) 15:14:57.86 ID:e58H0HHKF.net] Nif●y の決済システムってまだ稼働してるんか 最近使ってないから知らんけど