1 名前:デフォルトの名無しさん [2018/12/15(土) 11:07:07.89 ID:0aSEF/I+0.net] !extend:checked:vvvvv:1000:512 次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為) 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、 質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■関連スレ C#, C♯, C#相談室 Part93 https://mevius.5ch.net/test/read.cgi/tech/1492818720/ ■前スレ ふらっと C#,C♯,C#(初心者用) Part139 https://mevius.5ch.net/test/read.cgi/tech/1538646998/ ■コードを貼る場合は↓を使いましょう。 ideone.com/ https://dotnetfiddle.net/ ■情報源 https://msdn.microsoft.com/ja-jp/library/gg145045.aspx https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index https://msdn.microsoft.com/en-us/library/gg145045.aspx referencesource.microsoft.com/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
90 名前:デフォルトの名無しさん mailto:sage [2018/12/20(木) 23:07:10.16 ID:7wwBVLN+0.net] >>86 いつものキチガイだからNGしとこう ほら早速ワッチョイが役に立ったぞ
91 名前:デフォルトの名無しさん mailto:sage [2018/12/20(木) 23:43:42.93 ID:uRkd43kpd.net] >>88 無意味だと思ってるのはお前ができないからかつやる必要があるパターンが頭に浮かんでないかだろw 意味不明なのはお前が低レベルだからだよ。
92 名前:デフォルトの名無しさん mailto:sage [2018/12/21(金) 05:06:11.42 ID:PkTs+Gix0.net] >>90 初心者にとってそれがベストプラクティスだと言い張るなら根拠書けばいいんじゃね? 書けるならね w
93 名前:デフォルトの名無しさん mailto:sage [2018/12/21(金) 20:36:29.06 ID:ulAOiHZ/0.net] 便乗で質問です。 ログインしてない状態で指定時間になったら指定のユーザーでログインしてブラウザでスクレイピングしたいです。 サービスやタスクから適当なユーザーでログインするにはどうしたらいいでしょうか?
94 名前:デフォルトの名無しさん mailto:sage [2018/12/21(金) 20:59:56.18 ID:rOLcewoyM.net] もっと具体的でないと回答しようがないかな ログイン認証はWebサーバー側の話ならローカルアカウント 関係ないし ローカルアカウントの話ならグループポリシーでサービス起動 出来るようにするのが一般的だったけど OSのバージョンやADが有効なら出来ない場合もあるよ
95 名前:デフォルトの名無しさん mailto:sage [2018/12/21(金) 21:01:24.25 ID:ZKr5QUU1a.net] >>92 どうもこうも、それ最初からタスクスケジューラーのオプションに入ってるんじゃないの? www.atmarkit.co.jp/ait/articles/1307/08/news101.html
96 名前:デフォルトの名無しさん mailto:sage [2018/12/22(土) 11:16:46.77 ID:GEVjlJLSd.net] >>92 タスクスケジューラで、誰として実行するか決めれる。 タスクスケジューラ否定してる奴らは、タスクスケジューラ使って言ってるんだろうか?
97 名前:デフォルトの名無しさん mailto:sage [2018/12/22(土) 11:47:17.60 ID:h0Ytd2ZqM.net] 誰も否定してないと思うが? どれをそう感じたんだろう?
98 名前:デフォルトの名無しさん mailto:sage [2018/12/22(土) 13:29:07.95 ID:MYt604IR0.net] 3日間もこの話を続けてるのか よく飽きないねーガイジか?
99 名前:デフォルトの名無しさん [2018/12/22(土) 15:43:19.97 ID:UXm6+Rqz0.net] こういう質問者って解決の道筋を知りたいんじゃないんだよ WindowsのこともC#も学習する気はまったくなくて、代わりにコードを提示して欲しい人なんだ なので、「タイムスケジューラ+コードは自分でかけ」とか「自分で書いたコードをサービス化しろ」と回答しても無駄なんだな 誰かが代わりに希望のツールを作ってあげるまで延々と同じ質問をすることになっちゃう
100 名前:デフォルトの名無しさん mailto:sage [2018/12/22(土) 16:05:02.26 ID:3FbstdN40.net] 今回のは質問者そっちのけで外野が暴走しただけだろ
101 名前:デフォルトの名無しさん [2018/12/22(土) 16:17:42.75 ID:iZWJkg8TF.net] いつもだな
102 名前:デフォルトの名無しさん mailto:sage [2018/12/22(土) 16:45:04.92 ID:8eMfHdb50.net] いつも同じなのは、問題起こすのが特定の一人なんだろうね
103 名前:デフォルトの名無しさん mailto:sage [2018/12/22(土) 16:48:01.85 ID:ejexDqVG0.net] 特定の二人の間違いでは?
104 名前:デフォルトの名無しさん mailto:sage [2018/12/22(土) 16:59:24.98 ID:Bf3FfKs00.net] 昔はそういうの参戦してたけど 俺が最強だとわかってからは興味がなくなった
105 名前:デフォルトの名無しさん mailto:sage [2018/12/22(土) 17:01:56.44 ID:h0Ytd2ZqM.net] そろそろ魔板でやって欲しい今日この頃
106 名前:デフォルトの名無しさん [2018/12/22(土) 17:19:54.74 ID:UXm6+Rqz0.net] え?これ、便乗を装った本人じゃねえの?
107 名前:デフォルトの名無しさん mailto:sage [2018/12/22(土) 18:58:25.03 ID:8REvBzyR0.net] 一つのメソッドに処理A、処理B、処理Cがあるんだけど、処理〇と区別できる時点でメソッドとして扱うべきなんかね?
108 名前:デフォルトの名無しさん mailto:sage [2018/12/22(土) 19:03:13.59 ID:RR6G3DDfa.net] やってることに意味があり、それに名前が付くなら分ける 個人的には〇〇処理と名前が付くのはメソッドの単位としてはむしろ大きめ 単独で意味のある最小単位まで分けるのが理想
109 名前:デフォルトの名無しさん mailto:sage [2018/12/22(土) 19:59:35.81 ID:Bf3FfKs00.net] 何を言ってるのかさっぱりわかりませんから設計書を書いてください
110 名前:デフォルトの名無しさん mailto:sage [2018/12/22(土) 21:08:41.95 ID:la2rnvqna.net] >>106 馬鹿の一つ覚えの教条主義はよくない 分けた方がそのメソッドの可読性が上がるなら分ける。 可読性に寄与しないなら無理に分けちゃダメ。 なぜならクラス全体の視点ではメンバーは少ない方がいい。
111 名前:デフォルトの名無しさん mailto:sage [2018/12/22(土) 23:25:46.03 ID:RR6G3DDfa.net] メソッドの可読性ってセンスが求められるからなあ 端的に言えば、そのメソッド呼び出しを見たときに、その中身をいちいち見に行かなくてもコードを理解できるかどうか、が全てだ それができるならどこまで細かく分けてもいいし、できないなら分けないほうがマシ 処理の流れがわからんからサブプロシージャやめろおじさんの言い分も、低レベルな現場なら極めて正しい
112 名前:デフォルトの名無しさん mailto:sage [2018/12/23(日) 00:20:31.69 ID:pgnM6zpMM.net] そうだよな。calcって名前のメソッドがあれば計算していることはわかる。
113 名前:デフォルトの名無しさん mailto:sage [2018/12/23(日) 00:30:49.90 ID:iOIA70EQ0.net] とは言え、ループが把握できる大きさに抑えるのは大事 メソッドの処理の流れが見える範囲に大きさコントロールするように心がけているな
114 名前:デフォルトの名無しさん mailto:sage [2018/12/23(日) 00:40:03.70 ID:THpahYm7M.net] >>111 場合によるだろ 「多角形の面積」クラスのcalcメソッドを呼び出してたら面積を計算してるのは明らかであり、面積の計算方法に関心がない限りは中を見る必要はない それが「多角形」クラスのcalcメソッドだったら意味不明だろう 極端な例だけど、そういうのってセンス無い奴は本当にセンスないから
115 名前:デフォルトの名無しさん mailto:sage [2018/12/23(日) 00:44:44.37 ID:744F4yO+0.net] まあそういうところに日本語のコメント書いとけばすむ話だな。 命名センスないからな。自分。。
116 名前:デフォルトの名無しさん mailto:sage [2018/12/23(日) 00:55:46.55 ID:iOIA70EQ0.net] メソッド名はわかり易さより英語として恥をかかない程度の単語かどうかってのを気にするな 後で見られたときに笑われたくはない 簡単な単語でもスペルはチェックする
117 名前:デフォルトの名無しさん mailto:sage [2018/12/23(日) 08:07:40.95 ID:Qo063XKD0.net] 日本語でも良いよ
118 名前:デフォルトの名無しさん mailto:sage [2018/12/23(日) 08:42:15.02 ID:+g/rmc35M.net] 全角文字でもOK
119 名前:デフォルトの名無しさん mailto:sage [2018/12/23(日) 09:14:34.28 ID:Ap3NimBD0.net] 絵文字もok
120 名前:デフォルトの名無しさん mailto:sage [2018/12/23(日) 19:57:25.95 ID:6n30X/gf0.net] おかわりもOK
121 名前:デフォルトの名無しさん mailto:sage [2018/12/24(月) 01:28:35.64 ID:bmrfjFY/0.net] 長さが10,15と異なるList<string>が2つあって10のListの値を15のListに先頭から埋めていきたいんだけど、ListでArray.Copyメソッドみたいなのないのかな?
122 名前:デフォルトの名無しさん mailto:sage [2018/12/24(月) 01:53:50.78 ID:JltPtxYxa.net] >>120 a10 = a15.GetRange(0, a10.Count); ボトルネックでないならこんなんで十分
123 名前:デフォルトの名無しさん mailto:sage [2018/12/24(月) 02:02:57.20 ID:Z+6dfbfKa.net] 120がやりたいのは要素の置換じゃないの? まあ、組み込みの方法は用意さえてないので自分で書くしかないよね
124 名前:デフォルトの名無しさん mailto:sage [2018/12/24(月) 02:11:14.58 ID:Gf2UgbH0M.net] インプレースで置換する必要があるなら a10.Clear(); a10.AddRange(a15.Take(a10.Count)); でいいよ 少々非効率だがどうせこんなもんボトルネックにはならん
125 名前:デフォルトの名無しさん mailto:sage [2018/12/24(月) 02:17:03.76 ID:+5I2QCyu0.net] 15の方にコピーしたいって言ってるのに逆ばっかじゃねーか 偉そうに答える前に日本語の読み方を覚えろよ
126 名前:デフォルトの名無しさん mailto:sage [2018/12/24(月) 07:24:20.71 ID:zs7tYDO50.net] ワラタ
127 名前:デフォルトの名無しさん mailto:sage [2018/12/24(月) 07:24:47.31 ID:zs7tYDO50.net] ガイジばっかだな
128 名前:デフォルトの名無しさん mailto:sage [2018/12/24(月) 08:28:00.92 ID:KFYgg8m6M.net] よく見ると逆ですらない 121はa15の先頭から10要素のリストだし 123はa10.Clear()後にa10.Countを参照してるので、実行後のa10は空だ
129 名前:デフォルトの名無しさん mailto:sage [2018/12/24(月) 08:30:42.16 ID:zs7tYDO50.net] ガイジの宝石箱かよ
130 名前:デフォルトの名無しさん mailto:sage [2018/12/24(月) 08:35:25.17 ID:APgc2n6m0.net] >>123 Clearしていいの?
131 名前:デフォルトの名無しさん mailto:sage [2018/12/24(月) 08:42:01.70 ID:APgc2n6m0.net] >>120 は、こういうことなんだよな?? https://ideone.com/IBD8SG
132 名前:デフォルトの名無しさん mailto:sage [2018/12/24(月) 17:58:02.29 ID:0GmOXyNR0.net] >>127 うける
133 名前:デフォルトの名無しさん mailto:sage [2018/12/24(月) 21:29:07.13 ID:wShZDi2Q0.net] a15=a10.AddRange(a15); で良くね?
134 名前:デフォルトの名無しさん mailto:sage [2018/12/24(月) 22:49:22.82 ID:kvP3AY+C0.net] a15は.Skip(a10.Count)が必要だしAddRangeは返値voidだし a10が破壊されるのは気持ち悪すぎる せめて.Concatでやって
135 名前:デフォルトの名無しさん mailto:sage [2018/12/24(月) 23:00:49.18 ID:BVW7JO960.net] a10.Select((v, i) => i).ToList().ForEach(p => a15[p] = a10[p])
136 名前:デフォルトの名無しさん mailto:sage [2018/12/25(火) 05:37:13.78 ID:o3bLdzU90.net] 質問です applicationSettingsBaseを使って設定を保存したソフトのフォルダを移動したところ 設定がすべて消えてしまいましたが仕様でしょうか。 これを回避するためにはソフトと同じフォルダにiniを作るなどして設定を保存しないといけないでしょうか。
137 名前:デフォルトの名無しさん mailto:sage [2018/12/25(火) 08:31:43.73 ID:Pk7gkPrC0.net] SettingsProviderを自作すれば保存場所は変えられなかったか
138 名前:デフォルトの名無しさん mailto:sage [2018/12/25(火) 12:19:27.12 ID:H2h1tiNca.net] >>135 ApplicationSettingsBaseなんて使ったことないのでいい加減に言うけど、 普通に考えれば保存場所は起動したバイナリのパスになんか依存しないはずだと思うけど www.atmarkit.co.jp/fdotnet/dotnettips/438winsettings/winsettings.html ここにも書いてあるけど、バージョンとか製品名とかアセンブリの属性を何か変更したから 保存場所も変わったんじゃないの?
139 名前:デフォルトの名無しさん mailto:sage [2018/12/25(火) 12:21:30.96 ID:H2h1tiNca.net] ごめん>>137 は訂正 俺の記憶違いで、記事にはバイナリのパスにも影響されると書いてあるねw
140 名前:デフォルトの名無しさん mailto:sage [2018/12/25(火) 12:25:14.95 ID:yMEv05zrd.net] >>137 いいえexeの絶対パスが変わると保存先も変わります 知らないなら適当に答えるなよ
141 名前:デフォルトの名無しさん mailto:sage [2018/12/25(火) 12:49:04.91 ID:H2h1tiNca.net] いいえ私はさそり座の女〜
142 名前:デフォルトの名無しさん mailto:sage [2018/12/25(火) 20:05:08.93 ID:C73Cga6+0.net] C#スレが伸びてるけど、unityのおかげ?
143 名前:デフォルトの名無しさん mailto:sage [2018/12/25(火) 20:36:10.99 ID:bRmFmcZ5r.net] いいえ
144 名前:デフォルトの名無しさん mailto:sage [2018/12/25(火) 20:49:56.13 ID:wyvxpdNe0.net] 設定の保存ならjson.net使ったほうが幸せになれるね
145 名前:デフォルトの名無しさん mailto:sage [2018/12/25(火) 22:00:49.69 ID:nl4zamMYa.net] >>143 保存時のフォーマット?
146 名前:デフォルトの名無しさん mailto:sage [2018/12/25(火) 22:03:32.60 ID:cYaw21oJ0.net] イニファイルにしとけ イニファイルにな
147 名前:デフォルトの名無しさん mailto:sage [2018/12/25(火) 22:20:50.60 ID:NRydG5TY
] [ここ壊れてます]
148 名前:M.net mailto: Windows用語ではプロファイル [] [ここ壊れてます]
149 名前:デフォルトの名無しさん mailto:sage [2018/12/25(火) 22:21:37.22 ID:m1C7tGngd.net] >>145 老害おつ
150 名前:デフォルトの名無しさん [2018/12/26(水) 06:18:38.10 ID:1oivSykz0.net] 課題で10進数を2進数の文字列に変換したいのですが、これだとびっくりすくらい遅いです。 速くするにはどうしたらいいでしょうか。 class Program { public static void Main(string[] args) { string input = Console.ReadLine(); int i = Convert.ToInt32(input); string output = ""; while(i >= 1) { output = output.Insert(0,(i % 2).ToString()); i >>= 1; } Console.WriteLine(output); Console.ReadLine(); } }
151 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 07:14:08.48 ID:H45VhGP50.net] >>148 stringはほとんどの場合毎回新しいインスタンスが作られるから、代わりにStringBuilder使ってみ
152 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 07:18:31.50 ID:H45VhGP50.net] あとたぶん普通はこれ https://dobon.net/vb/dotnet/programing/converthex.html#section7
153 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 07:35:37.09 ID:gklwQdG7M.net] 遅いっつっても一瞬じゃない? たかが32bit整数くらいで。 試してないけど
154 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 09:33:17.59 ID:Ts4c5NN9M.net] Stringは吃驚するほど遅いよ
155 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 10:28:31.49 ID:yGWBBV+aM.net] 遅いっつっても一瞬じゃない?
156 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 11:19:21.70 ID:pZkVuIQAd.net] >>153 ループ一回ならね
157 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 12:39:12.50 ID:UFWOb61Ja.net] >>150 Convertのそんなのあったな感w でもこれゼロサプレスされるみたいだな。 まあリーディングゼロ付けるのは簡単だけども
158 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 19:06:58.35 ID:Dcs5aUpT0.net] Windowsフォームアプリケーションで、 「ボタン上をドラッグしてる間(左クリック押下中、かつボタン上にカーソルがある時)」に音を鳴らしたいんだけど Button1.MouseDownで再生、Mouseupで停止させるまでは出来ても MouseLeaveに停止処理書いて、クリックしたままボタンからカーソル外したときには音がなり続けてしまいます どういう記述がいいんでしょうか?
159 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 20:13:17.23 ID:/gJf0JvK0.net] >>156 クリックしたままだとMouseLeaveが動かないみたいだな https://ideone.com/c67R3i これは音を鳴らす代わりにフォームのタイトルにMouse On/Offと表示する MouseDownとMouseMoveでカーソルの場所を見てボタンの範囲外だと無条件でOffにする イベントとしてのMouseLeaveは外せそうな気がするしフラグ作ってもっと作りこめると思うけど面倒だからここまで
160 名前:156 mailto:sage [2018/12/26(水) 21:13:57.82 ID:0HU+mpFl0.net] ありがとうございます! 入門したて故コード読んでも理解できないけど、丸写しからの改変で勉強しながらやってみます
161 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 21:40:59.20 ID:sOj8GKWaa.net] >>156 やらずに適当に言うけど、MouseDownのイベントハンドラか何かで Captureの値をfalseにしてやったら望んでるような動作になるんと違う?
162 名前:デフォルトの名無しさん [2019/01/03(木) 03:05:05.68 ID:2jZ78iU60.net] dotnet new webapp コマンドでプロジェクト生成した時に Controllers も Models も Views も作られないので、ちょっと面食らっています。 ASP.NET Core で Razor Page を使ったアプリを作る際は、ASP.NET でいう Controllers と Models に該当するフォルダはどこに作ったらいいんでしょうか? 特にビジネスロジック部分はどこにまとめるの
163 名前:がいいのでしょうか? [] [ここ壊れてます]
164 名前:デフォルトの名無しさん mailto:sage [2019/01/03(木) 05:32:43.60 ID:ZmWGvR5ia.net] splitcontainerのpanel1に30個程度のボタンを設置し、それらは一つのイベントハンドラにまとめてて 押したボタンの色を変えるということをしようとしています splitContainer1.Panel1.Controls[●].backColor = Color.Red ; ●の位置に入る数字はどのボタンと対応しているかがイマイチわかりません。 タブインデックスの数値とは別のようですし、どの数値の事を言っているのでしょうか。
165 名前:デフォルトの名無しさん mailto:sage [2019/01/03(木) 06:22:31.48 ID:2jZ78iU60.net] >>161 期待通りの回答じゃないかもしれないけど、これでもいいんでは? protected void button_Click(object sender, EventArgs e) { ((Button)sender).BackColor = Coler.Red; }
166 名前:デフォルトの名無しさん mailto:sage [2019/01/03(木) 09:33:34.04 ID:mzbwP5/d0.net] >>160 dotnet new
167 名前:デフォルトの名無しさん mailto:sage [2019/01/03(木) 09:49:03.47 ID:92o1UEKg0.net] >>160 dotnet new mvc ASP.NET Coreは3.0以降でfull .NET Frameworkを切り捨てるから、必ず.NET Coreを使うように
168 名前:デフォルトの名無しさん mailto:sage [2019/01/06(日) 07:48:04.81 ID:ys0B5FJg0.net] >>148 遅い原因は >string input = Console.ReadLine(); じゃね? ユーザーが全文字入力するのをぼんやり待ってないで 1文字でも入力された時点でその桁に関する処理を開始しとかないと
169 名前:デフォルトの名無しさん mailto:sage [2019/01/06(日) 10:33:12.47 ID:ijGp0fE40.net] >>165 >>149 で解決すると思ったけど、その最後の行の実装例出せる?
170 名前:デフォルトの名無しさん mailto:sage [2019/01/06(日) 10:50:54.92 ID:SZQOw9ve0.net] >>166 件のプログラムで一番処理時間が長いのは起動だと思うから 実際にはその程度やっても変わらんでしょ
171 名前:デフォルトの名無しさん mailto:sage [2019/01/06(日) 13:46:05.21 ID:s+NsL/70M.net] >>165 てネタじゃなかったのか?
172 名前:デフォルトの名無しさん mailto:sage [2019/01/06(日) 15:10:03.44 ID:yoKg5XOLM.net] 何でもかんでもまずネタだと考えるのやめた方がいいですぞ
173 名前:デフォルトの名無しさん [2019/01/06(日) 16:43:50.05 ID:Dx0jhieJ0.net] ASP.NET Coreを使う練習してるんだけどさあ 実機で動かしてみるに当たって、手元のVisualStudioやVSCodeからLAN上にあるサーバ(Ubuntu)に配置して実行するまでって結構面倒に感じてしまう・・・・ これってなにかVisualStudioに配置実行を楽にする手段があるのかな? それとも楽をしたければJenkinsかなにか勉強しなきゃあかんのかな・・・・
174 名前:デフォルトの名無しさん mailto:sage [2019/01/06(日) 16:54:31.32 ID:YMMAI1S40.net] 今はどんな手順でやってるん?
175 名前:デフォルトの名無しさん [2019/01/06(日) 18:18:02.00 ID:Dx0jhieJ0.net] 今のところ、「手元でビルド→SCPコマンドで転送→SSHで実行」みたいにしてるんだけど・・・・やっぱもっといい方法あるよな
176 名前:デフォルトの名無しさん mailto:sage [2019/01/06(日) 18:22:43.98 ID:SgRztK6B0.net] LINQの質問です list1とlist2はList<int>型だとして foreach(var value1 in list1) { foreach(var value2 in list2) { Console.WriteLine(value1 * value2); } } これと同じことをLINQを使ってやるとしたらどう書けばいいですか? Zipを使ってみたのですが同じインデックス同士しか掛け合わせてくれませんでした
177 名前:デフォルトの名無しさん mailto:sage [2019/01/06(日) 20:09:56.59 ID:NF88G39c0.net] linqでブロードキャストできたっけ?
178 名前:デフォルトの名無しさん mailto:sage [2019/01/06(日) 20:11:35.37 ID:YeoWOZf6a.net] >>173 メソッド構文ならSelectManyを使う foreach (var v in list1.SelectMany(v1 => list2, (v1, v2) => v1 * v2)) { Console.WriteLine(v); } この場合はクエリ構文の方が分かりやすいかも var q = from v1 in list1 from v2 in list2 select v1 * v2; foreach (var v in q) { Console.WriteLine(v); }
179 名前:デフォルトの名無しさん mailto:sage [2019/01/06(日) 20:13:20.52 ID:NF88G39c0.net] >>173 ttps://dobon.net/vb/dotnet/programing/arraymap.html これでいけんじゃね? ConvertAll
180 名前:デフォルトの名無しさん mailto:sage [2019/01/06(日) 21:11:45.37 ID:iQ1zVEqTM.net] >>170 AWSとか使えば簡単だよ MSの推奨はもちろんAzureだけど、単なるVMのホスティングサービスとして使う以上のことを期待すると正直ゴミカスなので全くお薦めできない
181 名前:デフォルトの名無しさん mailto:sage [2019/01/06(日) 21:17:12.87 ID:iQ1zVEqTM.net] >>176 今時ConvertAllとか紹介してるゴミサイトはさっさと閉鎖すべき
182 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 00:48:07.98 ID:voJmrOTp0.net] >>178 今だと何がベスト?
183 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 09:13:26.65 ID:yGBdcOaa0.net] >>175 >>176 いけました! ありがとうございます 今回はSelectManyを使おうと思います
184 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 09:34:56.37 ID:z57KVTQ70.net] >>166 考え方としては、例えば「3」が入力された時点で 次の入力結果は「3」か「30」〜「39」しかありえないから 11通りの2進数表示を用意しておいて次のキーが押されたらそこで合うものを選んで表示する どんなに10進数の入力桁数が増えても毎回11通り用意すればいいのは一緒なのと 10進数が1桁増えるときに2進数表示で最後の4桁以外の文字列は使い回せるから文字列連結処理は多少減らせる この処理がユーザーのキー入力速度より早くCPUが処理できれば多少意味がある程度だろうけど
185 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 10:20:00.74 ID:e8LT8JMZa.net] >>181 そのためにReadKeyを繰り返してたらそのオーバーヘッドの方が効果を圧倒的に上回ります 出直してきてください
186 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 10:28:19.23 ID:3j9bnJUUM.net] >>181 について更にツッコむと、1文字ずつ処理するなら単に入力されたキーの値を普通に反映させていけばよい わざわざ候補を事前に用意してGCに負担をかける意味は全く無い
187 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 15:22:57.85 ID:Nhl1xZLpa.net] チラシを見てキャベツが1円安いからと電車賃300円払って遠くのスーパーまで買いに行くような無駄な努力に思える。
188 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 19:03:54.28 ID:RNZAQQS50.net] ネタを元にボケてるだけかと思ったら
189 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 19:56:07.52 ID:ukOyD8nn0.net] Json.NETを使ったデシリアライズについて教えてください。 以下のようなJsonファイルを読み込んで、リストにデシリアライズをしたいです。 [ { "email": "foo.example.com", "active": true, }, { "email": "bar.example.com", "active": false, } ] しかし、デシリアライズ時に、オブジェクトが2つ以上会い場合に例外が発生します。 using ( var sr = new StreamReader( @".\accounts.json" ) ) { var accounts = JsonConvert.DeserializeObject<List<Account>>( sr.ReadToEnd() ); } 例外 Newtonsoft.Json.JsonSerializationException エラーの原因はわかるのですが、解決策が思いつきません。 よろしくお願いします。
190 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 20:12:15.21 ID:RNZAQQS50.net] デシリアライズではまる前に オブジェクトをシリアライズして、どういうjsonが出来るか確認することを勧める
191 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 20:34:39.02 ID:ukOyD8nn0.net] >>187 オブジェクトが単体の時は[]で囲まれていなかったので、 配列として認識されないような気がします。 もう一度考え直してみます。 ありがとうございました。
192 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 20:52:50.47 ID:voJmrOTp0.net] parser通さずに自力解析した方が早そうw
193 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 21:41:14.56 ID:EmaCRb9M0.net] >>186 うちの環境ではそのままで読み込めた。w ああ、json ファイルのパスや、クラスをフルパスで書くように直したりはしたけど。 あと List<Account> を Account[] に変えてみても動作した。 json パーサは Newtonsoft.Json でいいんだよね? ひょっとして json ファイルの文字コードや改行コードの問題だったりして。VS2017 で試した。
194 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 22:00:13.12 ID:RNZAQQS50.net] まあ結論としては只の配列よねw List<>が勝手に出てくる訳もなく
195 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 22:27:36.78 ID:LR2ZtPQc0.net] >>181 「10進数が1桁増えるときに2進数表示で最後の4桁以外の文字列は使い回せるから文字列連結処理は多少減らせる」 の意味がわからない。
196 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 22:49:30.37 ID:ZGeLga+2M.net] BCD?
197 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 23:07:28.05 ID:7iifCEQOa.net] >>191 アホ? デシリアライズ先の型としてList<>を指定してるんだからどう見ても勝手に出てきてはいないでしょ 普通にデシリアライズできるよ
198 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 23:26:43.60 ID:PUyuVhSj0.net] >>192 単純に勘違いだろ。16進数から2進数への変換なら成立するけど 例えば251と256の2進数の下4桁が違うのはすぐわかる 質問引っ張るのもまずいけど元の質問者もフィードバックくらいしてほしいな
199 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 23:45:26.56 ID:RNZAQQS50.net] json.netはList指定いけたわ 低速過ぎて最近使ってなかった 失礼した
200 名前:デフォルトの名無しさん [2019/01/08(火) 01:42:19.06 ID:+TBsMqqs0.net] 9時と13時に定期的に作業を実行させたいので、タイマーを使ってプログラムを書きました。 似た部分が多いのでタイマー自体を配列化したのですが、「動作を停止しました」とエラーが出て動きませんでした。 タイマーの配列化って無理なんでしょうか? System.Windows.Forms.Timer[] timerOnce = new System.Windows.Forms.Timer[2]; public GetControlsList() { myTimerOnce(timerOnce[0], "9:00"); timerOnce[0].Tick += new EventHandler(timerOnce_Tick); } // 指定時刻までの時間を計算して、Intarvalにセット private void myTimerOnce(System.Windows.Forms.Timer thisTimer, string setTime) { //現在の時刻から、ターゲット時刻までのインターバルを算出 TimeSpan mySpan = DateTime.Parse(DateTime.Now.ToString("yyyy/MM/dd ") + setTime) - DateTime.Now; int sleepSec = (int)mySpan.TotalMilliseconds; thisTimer.Enabled = true;// タイマ ON thisTimer.Interval = sleepSec; // 更新間隔 } // 指定時刻になったらmethodを実行 void timerOnce_Tick(object sender, EventArgs e) { //実行したいメソッド }
201 名前:デフォルトの名無しさん mailto:sage [2019/01/08(火) 06:44:44.69 ID:dT41V3TC0.net] アドバイス頂いた通りシリアライズを見直したところ解決しました。 var account = new Account { Email = "hogehoge.example.com", Active = true, }; using ( StreamWriter sw = File.CreateText( @".\accounts.json" ) ) { var jw = new JsonTextWriter( sw ) { Formatting = Formatting.Indented }; new JsonSerializer().Serialize( jw, account ); } このように書いていたので、accountをリストに変換してから行うようにしました。 new JsonSerializer().Serialize( jw, new List<Account> { account } ); レスくれた皆さん、ありがとうございます。 こちらもVS2017なのできっと文法違いが原因です。 Json形式を勉強し直します。
202 名前:デフォルトの名無しさん mailto:sage [2019/01/08(火) 08:12:51.74 ID:mtJIt88ca.net] >>197 そもそもWinFormsのタイマーは精度や信頼性がとても低く、時間の計測に使ってはいけない あくまで「時々処理をさせたい」だけのときに使うもの あなたのケー
203 名前:Xならタスクスケジューラを使うのが定石です [] [ここ壊れてます]
204 名前:デフォルトの名無しさん mailto:sage [2019/01/08(火) 09:49:22.14 ID:Sw3FA19SM.net] >>197 配列をnewしただけで中身のTimerをnewしてないからじゃないの
205 名前:デフォルトの名無しさん mailto:sage [2019/01/08(火) 09:53:57.24 ID:Sw3FA19SM.net] まずデバッグ実行することを覚えた方がいい気がしないでもない
206 名前:デフォルトの名無しさん mailto:sage [2019/01/08(火) 12:12:53.32 ID:+TBsMqqs0.net] >>200 まさにそれでした。 1行加えただけで解決しました。ありがとうございました。
207 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 07:23:03.10 ID:fI4baLQf0.net] 本当に初心者質問ですが、ライブラリはimportとnamespaceから書いていくのと、どちらが良いのでしょうか もしくは使い分けがあるのでしょうか
208 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 07:48:48.51 ID:c4aAB3Aqd.net] >>203 ここC#スレやで
209 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 12:18:51.14 ID:fI4baLQf0.net] >>204 C#はusingですけどスコープ内でオブジェクト破棄する機能もusingと呼称してるので混乱しないようにimportと表現しました なんで2つの記述方法を許しているのか、何か意味があるのか気になりまして
210 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 12:21:16.40 ID:c4aAB3Aqd.net] >>205 c#にもimportはあるから余計混乱するだけ 名前空間とusingsは全然用途違うでしょ?
211 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 12:21:41.32 ID:c4aAB3Aqd.net] C#というかMSBuildだけど
212 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 14:41:58.83 ID:2h2JyjUc0.net] >>203 名前空間の全表記は可読性下げるので使ってないな VSでカーソル当てれば名前空間表示されるし、今時テキストエディタでゴリゴリ書いている人でもなければ全表記する必要ないと思う
213 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 14:52:14.20 ID:TKkGGOqYM.net] >>208 MediaのcolorとDrawingのcolorが混在してるときはぶっ潰したくなる
214 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 14:55:45.81 ID:TKkGGOqYM.net] pathってファイルパスじゃなくて 曲線かよ死ねよとか 省略形でも違いがあったほうが絶対いい
215 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 19:11:30.62 ID:5txyXp0A0.net] >>203 https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-directive usingでググればここに理由も呼び分け方(using ディレクティブ)も出ている 一般的な呼び名を使わないと調べることすらできなくなるよ
216 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 13:13:55.78 ID:lMztlpGar.net] >>209 そういうの他にもある
217 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 20:09:22.40 ID:9xQ4gBbQa.net] P/InvokeやCOM相互運用を書くときに System.Runtime.InteropServices.ComTypes以下の構造体やインターフェースを使う時があるんだけど System.Runtime.InteropServices以下に同名の物があるから、大体の場合で完全修飾かusing alias directiveが必要になって面倒なんだよなあ .Net1.1時代の後方互換性のためにObsolete付きで残してあるんだろうけど邪魔で仕方がない
218 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 12:39:13.44 ID:qc15f1nfD.net] >>211 その名前を知る事が大変ですよね 沢山本読むしかないんでしょうけど
219 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 12:57:28.29 ID:RbVY6SmB0.net] >>214 この話はusingの話で質問した人もわかっているし わからないなら分からないなりに説明したらいいだけ オレオレ用語使ってこんなところで質問するのは普通におかしい
220 名前:デフォルトの名無しさん [2019/01/11(金) 13:29:58.48 ID:5RUmP2fm0.net] スレ間違えたことを嘘に嘘を塗り固めるのは朝鮮人の始まり
221 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 14:37:44.48 ID:225AU0sE0.net] ちょっと教えろください。 int型変数二つの足し算でオーバーフローするかどうかチェックしたいのですが、 @decimalに
222 名前:Lャストして足し算した結果がintの範囲に収まっているかif文で判断 Atry catchで例外をつかまえる どっちがいいのでしょう? [] [ここ壊れてます]
223 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 14:40:44.08 ID:86XGb19RM.net] >>217 Bdecimalではなくlongにキャストして足し算した結果がintの範囲に収まっているか判断
224 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 15:54:41.82 ID:r18fheRy0.net] >>217 int_max - a < bなら a + b < int_maxが成り立つ でも>218のほうがわかりやすいとは思う
225 名前:203 mailto:sage [2019/01/11(金) 17:49:49.09 ID:1orv+xc30.net] 俺がjavaerという事がバレちまったらしょうがねえ なんだよusingってよ vb如きだってjavaリスペクトしてんぞ
226 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 18:29:52.22 ID:KWycMyC0a.net] >>217 オーバーフローは同じ符号の値を足した時にしか起こらず、起こった場合は前後で符号が変わる。 他の人が見ても何やってるか分かることが重要ならそれで判定するのが一番だと思う
227 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 18:33:43.65 ID:KnmjjSvJM.net] ラップアラウンドとサチュレーションって学生のときに聞いたのが最後だ
228 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 18:40:14.66 ID:fFtOgUz40.net] すみません、初めて見る構造体が出て来たのですが [StructLayout(LayoutKind.Sequential)] struct INITCOMMONCONTROLSEX { public int dwSize; public uint dwICC; } これは何構造体と読むのですか?
229 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 18:45:24.19 ID:1+lzGhU1M.net] つまらん! お前の話はつまらん!
230 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 18:46:13.28 ID:eF6moy/g0.net] >>223 https://ufcpp.net/study/csharp/interop/memorylayout/ >Sequentialレイアウトでは、複合型のフィールドは宣言した順序通りにレイアウトされます。
231 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 18:49:12.65 ID:1+lzGhU1M.net] イニシャライズコモンコントロールズイーエックス構造体
232 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 18:51:24.03 ID:zVvjOIcHa.net] >>223 構造体名で検索したらInitCommonControlsEx関数が出てくるじゃろ
233 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 00:09:08.43 ID:iaJ8ArIE0.net] VS2017でC#のプログラムを組んでます。 はじめてVS2017を使うのですが、画面の下に 準備完了 ↑ソース管理に追加 という邪魔なバーが表示されてます。 VS2010にはありませんでした。目障りなのでこれを消したいのですが何か方法はありますか?
234 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 00:20:55.22 ID:Fl9Ups4U0.net] >>228 ツール->オプション、環境->全般、ステータス バーを表示するのチェックを外す
235 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 00:21:44.23 ID:iaJ8ArIE0.net] >>229 ありがとうございます!!目障りだったんですよね。
236 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 01:04:45.40 ID:CChJ5ept0.net] 色々迷ったけど オートフォーマットはOFFにした
237 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 03:22:33.67 ID:S1bCJ3S10.net] 例外処理(に限らず、エラー処理)ってどこまで徹底して行うべきなんでしょうか? 下みたいに、使うインスタンス片っ端から毎回nullチェックとかしてたら、凄まじいコード量になるんですが・・・・・ if(obj == null) { return msg; }
238 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 03:53:00.80 ID:ejfouP+Ya.net] >>232 さあ。 でもバグと例外は区別した方がいいんじゃないか。 そのコードは多分バグを想定してるんだよね? 絶対にとは言い切れないが、バグを想定してそれを検出するifは書かないのが普通じゃないか いやライブラリみたいなものを作ってるならバグを想定して例外を投げるのは普通だけど
239 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 03:58:46.63 ID:ejfouP+Ya.net] 最後の行は引
240 名前:数のチェックの話ね [] [ここ壊れてます]
241 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 04:03:08.28 ID:2xT9w9620.net] return msg してるから まず例外をちゃんと使えてないんじゃ疑惑
242 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 04:04:51.50 ID:DC6KrvaN0.net] デザインパターンでnullオブジェクトパターンみたいの参考にするのは?
243 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 04:12:05.96 ID:DC6KrvaN0.net] nullが入るケースがあることを想定している場合にnullチェックを全部書くのがめんどいならnullオブジェクトパターン適用すればいいし 本来はnullが入ってたらおかしいケースならエラーを起こして拾わせるのが正しい構造って回答でいいのかな?
244 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 04:17:50.15 ID:2xT9w9620.net] ・nullが来ない想定ならチェック不要 ・nullケース考慮したくないならnullオブジェクトパターン ・null来た場合にぬるり以外で知らせるならチェックする ・nullのネスト面倒ならnull条件演算子 こんな感じやろか null非許容参照型使うという手もあるが
245 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 08:05:30.51 ID:VHzQIvd20.net] 読んでる入門書のLINQとラムダうんたらってのが分からなくて 手がstopしてしまっているのですが入門者向けに分かりやすく解説されてるページなど教えていただけないでしょうか? メソッドの使い方はある程度分かったのですがそれじゃ駄目なんすかね…
246 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 08:39:26.90 ID:0dPYYJK00.net] >>239 LINQやらラムダ使えなくても動くものはつくれるからまぁまずは作ってみよう
247 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 10:13:12.90 ID:iaJ8ArIE0.net] 最近は、自分でプログラム組まずにランサーズでハイスキルな奴に外注してるわw 中抜きでうま〜〜〜
248 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 10:35:45.31 ID:e9xF8Gpoa.net] >>232 チームの方針次第 うちの場合は nullを許可しない引数と返り値は基本的に全てチェックして例外を投げてる めんどくさいと思うかもしれないがFluentAssertionのようなライブラリを使えばそこまで大きな負担にはならない nullオブジェクトパターンはやればわかるがチェックするよりも手間がかかる また必ずしもnullの場合の適切な動作を定められるとは限らない 適切でない場合にパターンを適用するとそれがnullオブジェクトかどうかチェックするといった本末転倒なことになりかねない なのでこれが最も適切と確実に判断できる場合を除いて使用しない C# 8.0が待ち遠しいね
249 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 10:44:33.52 ID:CChJ5ept0.net] >>232 仕様と設計で解決する問題 エラーが出たときどうしたいの? エラー出たときに別に原因とかわからんでええなら一連の処理をtrycatchで囲ったらええやん なんか起きたらcatchに入ってくるで
250 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 17:18:08.40 ID:XDHakXaX0.net] >>232 外部とのやりとりの場所は結構厳重にチェックを入れる。 自分で書いているところは適当に流す。 外部とは当該館数のパラメータや、呼び出す関数とかの戻り値ね。 try catch で囲んで、チェックして例外発行して、catch 内でまとめてトレース情報込みでログ出してスローするくらいなら大した手間じゃないじゃない。 その例なら if( obj == null ) throw new ArgumentNullException("ぼーっと生きてんじゃねーよ!"); で済む話じゃん。 >>239 コピペでもいいからたくさん書いてみる。で解決するよ。 やってるうちに理屈が分かるようになる。
251 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 17:23:52.90 ID:iaJ8ArIE0.net] 昔は開発現場でこっそりExcel型の2chブラウザでネットサーフィンばかりしてたな〜 座ってるだけで月70万むっちゃらくやった
252 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 00:23:58.00 ID:X0+RFgX60.net] >>239 駆け出し時代オー
253 名前:vンソース改造してた時にLINQはパフォーマンス悪いと思って見つけ次第foreachに手直しするという逆工程でLINQとラムダ式マスターした [] [ここ壊れてます]
254 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 00:46:53.42 ID:IIPQpabmp.net] 使えば勝手にlinqの快感にハマって抜け出せなくなる
255 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 04:21:19.42 ID:qwE0jZig0.net] 麻薬のような機能だなw
256 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 09:07:48.83 ID:Xn8IPTP50.net] LINQもRxも使いだすと元に戻れなくなる でも性能気にしてstructとforeachに書き直し始めると時間足りない
257 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 09:32:12.32 ID:Z+h8nfOL0.net] >>246 パフォーマンスのためならなんでforにしなかったん?
258 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 18:27:15.40 ID:X0+RFgX60.net] >>250 Listはしてたよ あとラムダ式はLINQ→foreachより行数減らす意識持って1行メソッドを見つけ次第ラムダ式に直す工程で習得したな
259 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 23:20:39.35 ID:3wGjtMyb0.net] ComboBoxに例えばA〜Dと4つ項目が入っていて、A〜Cは同一計算方法でDのみ特別な計算方法でコード内容が異なり且つ色んな計算をする為コードが長くなる場合の見やすくする為の最初の分岐方法とか書き方とかありませんか? 今はifで分岐した中にあれこれ結果を取ってきて結果を出してるのでifがやたら長く見辛いです。なんかいい方法があれば教えて頂きたいです。
260 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 23:31:33.99 ID:CBheeOs80.net] LINQ使うと元に戻れなくなるのはわかるんだけどデバッグしづらくね? デバッグを想定する時点で初心者なのかな...教えてエロい人
261 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 00:45:24.53 ID:DUfu4s9fa.net] >>252 4っつぽっちの分岐で何がそんなに見づらくなるのかちょっと理解できんよ。 いや、煽ってるわけじゃなく本当に 各分岐先のコードが長くなるっていうのならそれぞれメソッドに切り分けるだけじゃないの?
262 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 02:09:17.70 ID:gvlEsXBIp.net] >>252 if(value == d){ d用処理またはメソッド }else { a〜c用処理またはメソッド } これじゃダメなの?
263 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 04:09:30.23 ID:Vsgk6Uc3K.net] >>252 ComboBoxにブチ込むためのクラスを書いてDは継承
264 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 06:09:12.86 ID:rjgxVR8i0.net] LINQはなかなか身につかんなあ。 とりあえずforで書いといて見直してこれLINQで一行になるんじゃね?と気付いたらいそいそと書き直す感じ。 LINQ脳になってない
265 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 06:39:49.84 ID:OSSPo6bD0.net] 例えば処理順を意識しなくて良い場合、通常のforまたはforeachで処理するのと、Parallel.ForEachで並列処理するのはやはり並列処理の方が早い?
266 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 07:24:38.34 ID:ohj/8QmzM.net] >>255 質問者の意図とは違うかもしれんがそういうコード書くと怒るやつがいた職場がある わざわざ継承してうにゃうにゃやらんと怒る んでできたコードが何がいいのか考えてもさっぱり意味がわからん 本人にメリットを聞いてもさっぱり理解できんというかメリットの話になると必ずボケた返しをする ありもしない改修を想定してキチガイとしか思えない発言を連発する そもそも仕様書や設計書に処理がその数で分岐するってあるのに なんで普通に書いたら怒るんだよ もうお前とはやってられん ってとこまでいって仕様書や設計書通りに組んでるのに工数が増えてるのはあんたのせいだ って会社間の会議になってもまだグチグチ言ってる その場にいる全員?な状態だった
267 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 08:37:28.18 ID:biF
] [ここ壊れてます]
268 名前:9zsRRd.net mailto: 環境次第 [] [ここ壊れてます]
269 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 08:41:56.04 ID:AEHaNlhRa.net] >>259 条件分岐が減るとかじゃないの? それだけ不具合が減る理屈だが、工数が増えてるんじゃ意味ないな
270 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 08:50:45.78 ID:OahWWfOzM.net] 普通のケースでは継承にしても 条件分岐が別の場所に移動するだけだべ
271 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 09:24:06.17 ID:n85zJfLmM.net] >>258 Parallel.ForEachはオーバーヘッドが大きい 一周に数百ミリ秒かかるくらいの粒度の大きなループでない限りは普通のforeachより確実に遅くなる
272 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 10:26:04.16 ID:fix0rts+0.net] 多態性は手間がかかる割に恩恵が少ないよな
273 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 16:18:48.41 ID:R0UqBAnw0.net] >>257 foreachならともかくforで書いているなら苦労するだろう
274 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 16:22:04.50 ID:R0UqBAnw0.net] >>259 逆のパターンなら数多見てきたけど、そのパターンは珍しいな if分岐が10以上になるからなんとかしてと言われて継承使ったプロトタイプ渡したら、なぜか基底クラスでif文復活してたことならあるけど
275 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 16:36:00.01 ID:0qvQfApDM.net] C#のforeachってpythonみたいに定義しないでindex取得出来ませんか?forにするしかないでしょうか?
276 名前:デフォルトの名無しさん [2019/01/15(火) 16:37:26.00 ID:Oh+57Mh2M.net] [_]
277 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 16:53:35.12 ID:XrO54/Dg0.net] >>267 foreach単体じゃ無理 Enumerable.Select Method https://docs.microsoft.com/ja-jp/dotnet/api/system.linq.enumerable.select?view=netframework-4.7.2
278 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 17:42:13.30 ID:AbSveg4gd.net] >>267 上のSELECT使った実装例はこんな感じ foreach (var x in items.Select((item, index) => new { item, index })) { Console.WriteLine($"index: {x.index}, value: {x.item}"); } Listか配列かIEnumerabelどれでやってるかは知らないけどもこれで行けるはず
279 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 17:49:07.53 ID:u2JtKhAa0.net] forが完全上位互換なのになんで foreach使うのか? って今でも思ってるよ俺は ループにインデックスが必要になったというただそれだけで変更するんだぜ
280 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 17:55:58.21 ID:AbSveg4gd.net] indexが必要でCountもできる時はわざわざindex生成してforeach使う必要無いと思うけどもLinq使いたい時とかIEnumerabelに実装してるものにわざわざfor使わない派
281 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 17:58:55.44 ID:AbSveg4gd.net] というか戻り値をIEnumerabelにして抽象化しておく事が多いから余計にforeach使うのはあるかもしれない Linq拡張メソッド作る時とか諸々
282 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 19:24:57.54 ID:Kk36dR3w0.net] とりまLINQ使って富豪的に組むだろ
283 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 20:11:07.93 ID:LAAyKIEna.net] >>252 int CalcDefault(); int CalcSpecial(); int Calc() { if (IsSpecialCase()) return CalcSpecial(); else return CalcDefault(); } bool IsSpecialCase() => combo.SelectedValue == "D"; とりあえず最初はこれでいいよ 似たような条件分岐が増えてきたらリファクタリングしてポリモー対応できないか検討 最初からポリモーは大げさだからやらなくていい でも後でリファクタリングしやすいように責務指向でメソッドを切っておくぐらいはやっておいたほうがいい このへんのさじ加減は経験則だな
284 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 20:18:43.20 ID:ToRrrvnYa.net] switchを無くすのに多態
285 名前:なんか使う必要ないね。 すくなくともC#にはデリゲートがあるんだから多態使うぐらいならComboBoxのアイテムに デリゲート持たせた方がいいよ。 個人的にはこれも本当に可読的か疑問だけど。 分岐素直に分岐で書いた方が分かりやすいって [] [ここ壊れてます]
286 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 20:29:43.48 ID:u2JtKhAa0.net] テストするときに圧倒的にわかりにくいコードになんの意味があるの? バカのやることは本当にわからない
287 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 20:31:56.84 ID:LAAyKIEna.net] 確かに 分岐が多いとテストしにくい 少しならいいけど限度がある
288 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 20:50:47.00 ID:u2JtKhAa0.net] 設計書で分岐が100個あったらswitchcaseかifで100個書けよ それが気に入らないなら設計書直せよ そういう当たり前の手続きを無視してコード書いてる雑魚に俺は超えられねぇ
289 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 20:54:23.73 ID:ShjRgn6y0.net] switch vs 多態って結局プログラムがDRY & SOLIDになってるかどうかって問題に帰着すんだよな >>255 はDRYでもSOLIDでもない >>275 はSOLIDではあるがDRYではない 多態までいけば完全にDRYでSOLIDなプログラムになる そのコードが一回こっきりで重複がないという前提だと、DRYのありがたみを実感しにくい だからswitch派が一定数居るのだろうね
290 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 20:58:26.66 ID:AbSveg4gd.net] インターフェイス厨だから似たような分岐はインターフェイスで分けて個別実装か本当に共通してるなら継承でなんとかしたくなる それと見返したら俺酷いスペルミスしててワロタ
291 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 22:25:49.08 ID:rPJfKlkHp.net] cしか知らないのです vsをダウンロードして独学でc#勉強し始めたのですが、どうにもなりませんです オブジェクトだのラムダ式だのデザインパターンだの文法的な要素以外に勉強しないとなにを言ってるのかわからない事が多くて、勉強の進め方が間違ってるのだろうと思いました。 初心者丸出しの質問で恐縮ですが、どんな順で何を勉強したら良いでしょう? また、良書、良いウェブページなどご存知でしたら、ご教示いただければ幸いです よろしくお願いします。
292 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 22:32:18.90 ID:2N1r/ZHN0.net] >>282 物まねでもなんでもいいから何か作りまくれ 用語とかから勉強しなくていい。色々調べるうちに覚える わからなくなったらやりたいことの頭にC#+スペース入れて検索
293 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 22:33:11.37 ID:p93FMJH30.net] 必要性がわからない概念を理解するのは難しい それはコード書いた経験が少なすぎるから Cもほぼ入門書読んだだけでしょ とりあえず自分が理解できる範囲の知識でなにか作りたい物つくった方がいい
294 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 22:52:10.98 ID:qux9+5740.net] >>282 主にオブジェクト指向関係が分からないみたいだから オブジェクト指向入門系の本やウェブサイトを探せばいいんじゃないか? あるいはC#にこだわらないのであればC++の入門書はC言語との違いとして オブジェクト指向向けの機能に触れているものが多いと思う 実際にプログラム作ってオブジェクト指向の感覚掴みたいなら 個人的にはちょっとしたゲーム作ってみるのもオススメだな UnityならC#使えるし
295 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 23:25:56.04 ID:Zm1dLYXR0.net] >>282 勉強の進め方というか基本的な理解が浅いのでは Cでも構造体ネストして疑似継承くらいするだろうし ラムダにしてもクロージャ要素はともかく匿名関数 とりあえずクラスは関数を纏めているのではなく 型を作りデータと結び付けているという事だね https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/index 翻訳が割と酷いが公式にもドキュメントはあるよ
296 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 23:31:48.76 ID:
] [ここ壊れてます]
297 名前:grH+sReD0.net mailto: ご教示ありがとうございます いわゆるコンソール用のアプリケーションなら、cで充分私が必要とする程度のものは作れるので、わざわざ新しい言語なんか習得したいとは思わないんですが。 やっぱり、GUIのアプリケーションの方が使うとき楽だとら思いまして、なんとかc#勉強して作れるようになりたいなと言うのが発端なんです vsで参考になるようなところを参照してつまみ食いで作ったのですが、少しでも自分で機能を追加しようとすると、マイクロソフトのクラスライブラリなんか知らないので、なかなか困難で。 おまけにクラスというかオブジェクト指向って奴だと、無闇矢鱈と真似すれば良いという手法が私では通用しなかったのです。 どのようにクラスを作って良いのか基準もわからないですし。 オライリーのc++の本があるので読んだのですが、そこでは電子レンジをモデルにしてオブジェクトの説明をしてくれたのですが、なかなか良く分からず デザインパターンとやらを先に勉強しておくべきなのかとチラホラ読んだのですが、これもまた実装とは程遠い座学の世界でピンと来なくて泣きそうです。 みなさん、ある程度使えるようになるまでどんな順序でなにを学んだのか、ご教示いただければたすかります [] [ここ壊れてます]
298 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 23:33:48.23 ID:grH+sReD0.net] 図々しいお願いで恐縮です
299 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 23:35:09.56 ID:opRVBBPd0.net] デザパタは経験積まないと有り難味が判らないから放置でいいよ 作りたいものを完成させるにはどうすれば近道かだけ考えろ
300 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 23:40:43.54 ID:grH+sReD0.net] >>289 デザイパターンはある程度蓄積が出来てないとありがたみがわからない、だから、後回しでも良いと言う意見ですね クラスを作る定石集のようなものだと思ったので、先に勉強した方が良いのかとも思っておりました 定石知らなくても、楽しく将棋はできるのだから、後回しでも良さそうですね ご意見ありがとうございます
301 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 23:50:54.16 ID:u2JtKhAa0.net] vector3Dクラスの内部に vector2Dクラスは普通は作らないんだぞ 知ってた? しかし、両クラス共にメンバx,yを保持する そう、お前らの大っっっっっっっ嫌いな重複だw しかし、極上のバカでもない限り vector3Dをvector2D+zで作るやつなんてこの世にいないんだよ わかるな? この例ではわかりやすく XYZで説明してやったが 世の中ってのはこういうもので満ち溢れてるんだよ xyでもyzでも計算するときがあるのさ わかりにくいだけで xyをvector2Dで作ってしまったオブジェクトのyzの計算は不格好なのさ オブジェクト指向は破綻している そこをわかった上で付き合うんだ
302 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 00:03:56.21 ID:9UhWNW230.net] >>287 物に例えるってのは常々ダメだと思うわ、関係ない要素が絡んできて 人に依ってはマイクロウェーブとか出るの?とか思うだろうし クラス設計としちゃフィールドは構造体と一緒だけどメソッドは… うん、とりあえず手続き型っぽく作っても良いだろう\(^o^)/ 多態性は+演算子の数値なら加算が文字列だと連結になるとかね C経験はCUIのみという事かな?.NET Frameworkなんか知らん!という事であれば Visual C++ Windows デスクトップアプリを従来通りWin32で作っても良いと思うけど 手っ取り早くダイアログベースで作成してメッセージハンドラに渡ってきたIDで振り分ける ぶっちゃけ.NET FrameworkもWin32 APIをラップしてるだけなのでC#も基本は変わらない フォームデザイナーで弄くってコントロールにイベントハンドラ割り当てるだけ
303 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 00:44:36.48 ID:RsJGf8R10.net] >>292 制御系のプログラムばかり書いているのです どうかするとロジアナ見てる方が多いかもしれませんが パソコンの世界はほとんどわからないです
304 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 01:02:27.00 ID:NripHWV9a.net] >>293 制御系ならCでも自然とオブジェクト指向的な設計でコード書いてたはずだと思う。 「キーをスキャンしてデバウンス処理を担当するコード」とか「LCDドライバーへの表示データの転送を担当するコード」 とか、そういう仮想機械をコード上にいっぱい作ってたはず。 オブジェクト指向のオブジェクトって要はこの仮想機械のこと。 クラスはそれを書きやすくするための仕組みに過ぎん。 だからたぶん心配してるよりずっと簡単な話だと思うよ
305 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 01:07:11.33 ID:RsJGf8R10.net] >>294 私の頭の中はオブジェクト指向とは無縁です。 設計そのものに、そんな考え方を取り入れていないので、どこまでも手続き型で考えてしまうのです。 強いて言えば、状態遷移を作るときに少し似たような考え方になるだろうか、という程度ですね なにをクラスとすれば良いのか、そういうところがピンとこないので、わからないのです。
306 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 01:13:49.60 ID:9UhWNW230.net] いわゆる組み込み系か、それだと逆にこっちが経験乏しいけど、Cライブラリなら馴染みはあるのかな するとまずはVisual C++からWindowsコンソールアプリをC/C++ライブラリで作ってみるとかかねぇ? APIとかはC#にしろMSDN…今はMicrosoft Docs?を見るしかないね、C#ならIntelliSenseにも詳細出る でもC#からなんか制御するとかだと結局プラットフォームのネイティブAPIや専用ライブラリになるか? とりあえずオブジェクト指向とかを学びたいのであればC++や他スクリプト言語とかでも良さそうな
307 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 01:15:08.32 ID:NripHWV9a.net] >>295 でもキュー(リングバッファー)ぐらい実装したことあるでしょ? 端的に言えばあれがオブジェクトの一例っすよ。 データ(配列 + 読み出しポインタ + 書込みポインタ)と、 それをリングバッファーに見せかけるコードの組み合わせ 簡単でしょ
308 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 01:30:35.70 ID:RsJGf8R10.net] >>296 言語そのものはどれでも良いと考えています vsのヘルプを読む限り、同じことができてるようですから どうせなら、c#を勉強してみたいなと考えております
309 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 01:36:56.53 ID:RsJGf8R10.net] >>297 リングバッファがオブジェクト指向の考え方なのですか。 なるほど。 仮装化したデバイスのようなもの、ということなのでしょうか。ハードディスクのドライバやNICのドライバは確かにアプリケーションからみると仮想的で、実際のハードウェアの持つ機能とは関係なくつかえるようにしますね 少し例えがわかった気がします ありがとうございました 今日は遅いので、この辺で失礼します
310 名前:デフォルトの名無しさん [2019/01/16(水) 02:56:08.32 ID:JSfUU2TA0.net] private Task<int> hoge{....} というメソッドがあって var t=hoge(); でタスク走らせた後、ちょっと別の処理してから t.ContinueWith(()=>...); と継続タスクを付け足した場合、 付け足した時点でhogeが終わってれば すぐ継続タスクの処理を開始してくれますか?
311 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 08:32:38.24 ID:vAlWKxD3a.net] >>300 はい
312 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 09:09:41.77 ID:CvIYGZ/W0.net] なんならTask.CompletedTaskからでもContinueWithできる
313 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 11:29:57.72 ID:O5e9hp9mM.net] >>299 オライリーのヘッドファーストオブジェクト指向がおすすめ
314 名前:デフォルトの名無しさん [2019/01/16(水) 16:28:16.62 ID:UcQqPOFa0.net] ついでに、ユニットテストを身につける本をだれか教えてくれんかな どの入門書もテストについて全く教えてくれんがどうなってんだ・・・・
315 名前:デフォルトの名無しさん [2019/01/16(水) 16:40:21.97 ID:vTKVQdGXF.net] そのうちテストのテストも書きたくなってくる
316 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 18:30:37.61 ID:rdmn+dmd0.net] なかなかゲームの自動プレイを実装するの難しいな〜
317 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 19:00:09.87 ID:uHZTYjv/a.net] >>241 >>245 >>306 >>1
318 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 19:04:33.77 ID:rdmn+dmd0.net] 1は俺の書き込みちゃうでぇ
319 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 20:32:03.28 ID:LiM0dr73p.net] >>303 どうもありがとうございます java c#を習得している人が前提の書籍のようですね オブジェクト指向の勉強には良さそうな本で助かります javaも知らないので、今度丸善にでも行って太刀打ちできそうか、少しみてから判断しようと思います
320 名前:デフォルトの名無しさん [2019/01/16(水) 21:05:07.42 ID:wbo0XsPzd.net] >>301 >>302 ありがとうございました
321 名前:デフォルトの名無しさん [2019/01/18(金) 05:08:46.83 ID:bjcECFHM0.net] すまんが、VisualStudio2017についてる.NET Core2.1って、2.2にするにはどうすればいいの? 勝手に入ったんだからVisualStudio周りからアップグレードする方法があって良いような気がするものの・・・・どこにあるんだろ!? https://dotnet.microsoft.com/download それともこっからダウンロードしてきて入れちゃえば良いのかな?
322 名前:203 mailto:sage [2019/01/18(金) 07:03:56.21 ID:3+zdHjT80.net] >>287 動物スーパークラス作って猫クラスと犬クラス作って猫にニャーニャー 犬にワンワンと鳴かせるプログラム作りな 完成したらオブジェクト指向習得 これで月18万の8次請非正規になれるよ 面談では経験8年で勘定系COBOLの経験有りと答えてね
323 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 07:26:09.39 ID:UV6kIYNk0.net] >>311 VSのインストーラから入れられるのはLTSだからか知らんが今のところ2.1まで 2.2はSDKで入れてプロジェクト毎にターゲットとして指定すればおk
324 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 07:46:49.16 ID:tSI143EMa.net] >>312 意地が悪いな
325 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 09:51:47.00 ID:LKOsIFRz0.net] オブジェクト指向は色々勉強するより ちょっとしたゲームでも作ったほうが分かりやすいと思うわ モンスターとヒーローを作って相手を攻撃するメソッドと攻撃を受けたときにダメージを受けるメソッドを書いて 終わり
326 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 11:05:46.51 ID:OxZoH0bi0.net] 非同期のファイル検索処理を途中でキャンセルしたいのですが 時間がかかる処理はDirectory.GetFilesなので CancellationPendingをどこに書いても処理が終わるまでキャンセルされないのですが どう書けばよいでしょうか https://dotnetfiddle.net/xYNYrk
327 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 12:09:48.64 ID:FhyCLWa9d.net] >>316 こういうやつ? https://qiita.com/Kosen-amai/items/20868649f10b119ceb40
328 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 12:11:43.78 ID:70siMoMg0.net] >>316 Directory.GetFiles()の代わりにDirectory.EnumerateFiles()を使う
329 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 13:00:12.01 ID:Xg90leRQM.net] >>315 ゲームはオブジェクトと環境との間のインタラクションが多すぎるからオブジェクト指向を学ぶには適さない プロでも結局全部グローバルスコープでアクセスできるようにしとけみたいな設計にしかならん
330 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 14:06:54.39 ID:LKOsIFRz0.net] じゃあやっぱ>>312 がベストアイディアだな
331 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 17:53:25.90 ID:3+zdHjT80.net] 俺が先輩なら新人に自動車クラスとタイヤクラス作らせて型継承でタイヤ交換
332 名前:は容易にするようにと課題出す 出来たら6年選手として売る [] [ここ壊れてます]
333 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 17:56:23.24 ID:3+zdHjT80.net] 新人言うても30歳超えの中途ね コスパ良いんだわ 年食ってると従順でパワハラにも耐える そう言えば20代新人とか見たことない 存在するのかね
334 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 18:53:47.09 ID:LKOsIFRz0.net] すまんがIT企業の闇と経験年数詐欺の手法はマ板でやってくれんか? ム板は数年後のプログラミング教育必修化に向けてフレッシュでさわやかな若者向けの板に改装する予定なんだが
335 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 19:22:42.59 ID:LUo6T6YMr.net] おまえが改装するの?
336 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 19:45:43.10 ID:adSAogxL0.net] マ板話をム板でするなハゲ
337 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 19:57:21.94 ID:zUd1LnnRd.net] >>325 ハゲ・ヅラ板の話をム板でやるなよ
338 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 20:48:28.34 ID:LKOsIFRz0.net] 早いところプログラミング必修化してほしいもんだぜ 会社の愚痴とブラック会社アピールが「プログラミングのお話」だと思ってるオッサン多すぎ
339 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 21:54:37.77 ID:v/mpstOM0.net] IT業界の非正規形態に未来がなさ過ぎて辛い いかんいかん 楽しい気持ちでラムダ練習せねば
340 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 22:02:21.54 ID:BJ9hxZ250.net] ↓プログラミングを必修化した結果 ttps://pbs.twimg.com/media/DwtF98FUwAIU166.jpg
341 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 22:16:50.60 ID:v/K+38IX0.net] なんかちがう
342 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 22:41:31.47 ID:yv7JhRUX0.net] そもそも資格試験は政治家の天下り先がつくってる いみない なぜなら資格を作ってるところの役員事態は 知識がないのだから。
343 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 22:57:58.37 ID:1ZiD/8V00.net] 文字列から数字をtmpWとtmpHに抜き出すクラスを作りたいのですがどうしたらいいですか? 演算子記号は+−もある、数字の桁数は不明で小数点もあり、数字が入るときは小文字一字始まり、引数はw or hで抜き出す戻り値を示す。 対象文字 @w900×HH AWW×h1000 BWW×HH Cw900/h100 結果 引数がwなら左 hなら右 @tmpW=900 tmpH=WW AtmpW=WW tmpH=1000 BtmpW=WW tmpH=WW CtmpW=900 tmpH=1000
344 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 23:04:40.52 ID:qic/InUuM.net] 数字文字列は尻からスキャンが定石か
345 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 23:09:53.93 ID:FQpSYkdr0.net] 正規表現で抜けば?
346 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 23:11:37.85 ID:OxZoH0bi0.net] >>317 ありがとうございます。調べてみます >>318 ありがとうございます。しかし同じくキャンセル出来ませんでした
347 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 23:58:07.57 ID:JDQsFvp5a.net] フォルダの中に万単位でファイル作ってGetFiles()テストしたことがあったけど 10年以上前のPCでも非同期にしなきゃならんほど遅くなかったと思ったけどなあ 普通に遅い原因はユーザーコードの方にあるんじゃないの
348 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 00:06:23.94 ID:h3VcH88n0.net] 10年前のPCはそこまで性能悪くないだろ
349 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 00:41:04.18 ID:pEXPsY3Y0.net] >>332 文字列を×/区切りの前後でsplit それぞれの先頭がwhなら以降を戻り値
350 名前:デフォルトの名無しさん [2019/01/19(土) 01:20:56.46 ID:2Tiw7zAQa.net] >>336 誰と話してるの
351 名前:デフォルトの名無しさん [2019/01/19(土) 05:18:33.12 ID:M8Q3zGyy0.net] >>332 今ちょうど過疎ってるお題スレにちょうど良さげなのでお題スレにコピペさせてもらおう。
352 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 07:28:05.47 ID:+IqL7b8U0.net] >>334 に一票
353 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 08:43:09.59 ID:hupcYVyzM.net] >>332 Cが難題だな。どうやって実現しようかなぁ
354 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 08:48:50.91 ID:Oo+kKfbG0.net] indexOfとLowerでイケるんちゃうか?
355 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 08:49:22.84 ID:Oo+kKfbG0.net] あとsplit
356 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 14:47:58.46 ID:+IqL7b8U0.net] >>342 確かに w まあtypoだろうからスルーしてやれよ
357 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 17:07:22.10 ID:FJgPPckz0.net] 脊髄反射で書いたので添削頼む。 public static string[] GetHW(string input) { string[] returnval = new string[2]; string[] temp = input.Split('+','-','*','/'); if (temp[0].StartsWith("w", StringComparison.Ordinal)) temp[0] = temp[0].TrimStart('w').Insert(0, "tmpW="); else if (temp[0].StartsWith("WW", StringComparison.Ordinal)) temp[0] = "tmpW=\" \""; else temp[0] = "それ以外の何か"; if (temp[1].StartsWith("h", StringComparison.Ordinal)) temp[1] = temp[1].TrimStart('h').Insert(0, "tmpH="); else if (temp[1].StartsWith("HH", StringComparison.Ordinal)) temp[1] = "tmpH=\" \""; else temp[1] = "それ以外の何か"; return temp; }
358 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 17:11:32.02 ID:FJgPPckz0.net] あ、Replaceでよかった。 returnvalも無意味。
359 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 17:39:42.56 ID:FJgPPckz0.net] 1文で public static string GetHW(string input) { return input.Replace("w", "tmpW=",StringComparison.Ordinal) .Replace("h", "tmpH=", StringComparison.Ordinal) .Replace("WW", "tmp=\" \"", StringComparison.Ordinal) .Replace("HH", "tmp=\" \"", StringComparison.Ordinal) .Replace("+", " ", StringComparison.Ordinal) .Replace("-", " ", StringComparison.Ordinal) .Replace("*", " ", StringComparison.Ordinal) .Replace("/", " ", StringComparison.Ordinal); }
360 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 18:47:09.81 ID:jmND9WvPa.net] >>332 質問内容はともかく、プログラマならもうちょっと読み手が推測で補完しなくても 内容を過不足なくきっちり読み取れるような文章を書いた方がいいと思う。 ってういか、率直に言って日本語変だよw
361 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 18:53:12.69 ID:+IqL7b8U0.net] 文章はともかくサンプルデータと結果を書いてるのは褒めてもいいと思うよ 他の質問者もぜひ見習って欲しい
362 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 19:00:37.08 ID:ov6XiAZ2M.net] 競技プログラミングの問題文よりましだろ
363 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 19:36:35.93 ID:PaRH8QDQF.net] 独学手探りで勉強しながら作っていたアプリケーションが一応形になったので 折角だから公開してみようと思っているんですが、 デバッグやライセンス確認など、リリース前に確認する事、の知識が全くないことに気づきました 少額ながら有料公開にしようと考えている為、 最低限これとこれは確認しないと、って物を教えて頂きたいです
364 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 19:39:05.53 ID:9NMu+pMT0.net] >>352 なんのアプリケーションかも分からないし、答えようがない
365 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 19:41:36.75 ID:FJgPPckz0.net] 有料ってことは、不具合に対する改善要求が来る可能性もあるので、責任の範囲(逃げ道)を明確にしておく。
366 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 19:42:32.49 ID:XwZdf3VkM.net] >>349 そこは、「あなた、日本語お上手ですね!」で煽らないと
367 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 19:53:49.36 ID:oPTngqYr0.net] 煽ってどうすんだよガイジ
368 名前:デフォルトの名無しさん [2019/01/19(土) 20:31:17.01 ID:h4R+weTi0.net] >>313 今の所、普通に使っていて2.2にはならないのか ありがとう
369 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 21:00:12.97 ID:jmND9WvPa.net] >>332 まあ、適当に忖度して書いてみた 普段正規表現あんまり使う機会がないんでどっかおかしいかもしれん https://ideone.com/b9pjrG
370 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 21:02:54.87 ID:BW5TF7JUa.net] >>352 ヘタしたら訴訟沙汰になりかねないからやめとけ まずはベータ版
371 名前:として無料で配るとかして様子を見るべき [] [ここ壊れてます]
372 名前:デフォルトの名無しさん [2019/01/19(土) 21:59:06.23 ID:+chQE6yt0.net] >>352 ・C#で作ってるならデコンパイルされても大丈夫か確認しておく ・GPL汚染に注意する
373 名前:デフォルトの名無しさん mailto:sage [2019/01/20(日) 23:51:42.85 ID:NEqE5pSC0.net] ソフトで商売って労力に見合わないな キラーソフトでも作れればそれだけで暮らせるんだろうけど
374 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 00:00:18.20 ID:lx5Y5NZb0.net] ニッチな分野か、あるいは既存ソフトより高性能であれば有料でも売れる可能性はある
375 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 01:05:58.77 ID:+LWwKYuDa.net] 業務アプリなら大したスキル無くてもやってることがビジネスとして正しくてちゃんと営業すれば売れるよ 今時ツール系で稼ぐのはまあ無理
376 名前: mailto:sage [2019/01/21(月) 05:02:51.88 ID:BX1YVz9RH.net] >>362 業務にての使用を公認されるためには、有料(シェア)ソフトの方が有利なようですよ、秀丸とか
377 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 07:23:38.48 ID:EWbXmLTJ0.net] ASPばかりしてたらWinFormの作り方忘れた つか今だにWinFormの案件あるのかね 小ツールはコンソールアプリで作っちゃうから勝手が思い出せない
378 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 07:27:48.21 ID:V744VEzgd.net] >>346 >>348 ありがとうございます!調べてやってみます!
379 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 07:41:57.18 ID:A1e+SXhY0.net] ASPの案件がある方が驚きだわ
380 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 07:46:49.66 ID:1hBKI8k2D.net] >>367 大手はWindowsServer入れてる率が多い気がする
381 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 07:54:57.12 ID:BPZ4z+V2d.net] >>368 ASP.NET(かもしくはASP.NET Core)やろってツッコミじゃね?
382 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 08:07:17.42 ID:pqXwpH4cd.net] ASPはもうASP.NETに移行済んでるものと思ってた
383 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 08:20:46.33 ID:V744VEzgd.net] >>358 わざわざ有難うございます! これも書いて勉強してみます!
384 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 10:03:06.25 ID:HJdNRmJRM.net] 開発マシン XP32bitでVS2005で作ったC++のdllを同じくVS2005で作ったC# WinFormアプリでDllImportを使って利用しています。 Win10 64bitで実行するとC++の関数をコールすると 間違ったフォーマットのプログラムを読み込もうとしました。(HRESULTからの例外: 0x8007000B) となります。 同じ事をwin7 64bitのVS2013で作ったアプリでしても(当然)問題なく動きます。 VS2005で作ったアプリで動かす方法はないでしょうか。
385 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 10:21:26.36 ID:yj1nRareM.net] プロジェクト設定でany cpu になっている部分をx86にしなされ
386 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 11:03:04.79 ID:HJdNRmJRM.net] >>373 ありがとうございます! 無事動作しました!
387 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 12:12:30.14 ID:1DQQx7qk0.net] 新規プロジェクトをVBでやりたがるPMにC#をオススメしたいのですが、C#が決定的に優れてる点はあるでしょうか? VB読みにくいなんて言っても苦しむのはお前だろ関係ないという雰囲気で
388 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 12:30:08.86 ID:eMR7WidkM.net] ループの評価とコーディング量かな 手持ちプロジェクトをSharpDevelopで変換してみなされ
389 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 12:44:54.58 ID:9okmCQOjM.net] プログラマの品質 実際にC#使うかVB使うかはどうでもいいが、要員をC#経験者に限定することでリスクは格段に下がる
390 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 12:55:35.86 ID:qfMy6igJ0.net] ネットに転がってるサンプルコードの量 (ちょっと慣れればすぐに読み替えられ
391 名前:驍謔、になるってのは秘密) [] [ここ壊れてます]
392 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 13:14:20.48 ID:dccJtP51d.net] >>377 担当PGは決まってるんだからそんなこと言っても説得力なし
393 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 13:48:30.91 ID:NM3vIbDMa.net] 日本人を説得するのはこれが一番 yellow.ribbon.to/~joke/tobikome.html 実際問題.NETの世界ではC#が標準で「みんな」が使ってる。 逆にあえて非標準のVBを使う理由って何なんですかと聞いてやればいい もう少し合理的な人なら、ラムダ式とか、デリゲートのadd/removeに演算子が使えることとか、 三項演算子とか、null合体演算子とか、代入演算子が右辺の値を返す式であるとか、 プロパティーのいろんな省略記法とか、C#ならいかに簡潔にかけて同じことをVBでやるといかに冗長になるか 具体例を見せてやればいいよ
394 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 14:10:03.70 ID:NbFzEAOW0.net] >>380 > ラムダ式とか、デリゲートのadd/removeに演算子が使えることとか、 > 三項演算子とか、null合体演算子とか、代入演算子が右辺の値を返す式であるとか、 > プロパティーのいろんな省略記法とか、 単なる印象だけど>>375 のところのPMはそう言うのを嫌いそうな気がする
395 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 16:35:43.35 ID:trZhU3Ina.net] Labelを貼って、そのTextを空白にしたらデザイン画面でクリックできなくなってしまったのですが どうやって選択状態にしたらいいのでしょうか
396 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 17:01:29.53 ID:NM3vIbDMa.net] >>382 デザイナで以下のどれかの操作をする (a) [ctrl] + z (b) マウスでそのラベルがあったあたりをドラッグ (c) [ctrl] + [alt] + t (d) プロパティウィンドウの上部のドロップダウンで選択
397 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 17:54:05.53 ID:trZhU3Ina.net] >>383 ありがとうございます C案でやらせていただきました
398 名前:375 mailto:sage [2019/01/21(月) 18:26:05.83 ID:1DQQx7qk0.net] PM的にはVBのが簡単で人員の確保が容易との理由ですが、イベントリスナにクラスレスで全処理書くベテランエンジニアの意向を汲んでるんだと思います 自分はサンプルの多さとC系で無い記述に不慣れという理由でC#を希望しましたが、ベテランに寄せられるんだろうなと諦めムードです ちなみにベテランのスマートUIは芸術の域で若輩の自分には追従不可です コード量も多く見積りが高く出来るとPMからも信頼されています
399 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 18:37:52.16 ID:PrrgsGFM0.net] 今2019年やぞ……。 生産性を上げる技術を入れる気が無い、そのPMにはC#のメリットはメリットに見えないだろうなぁ。 ベテランは古い技術と心中できるけども……
400 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 19:12:08.60 ID:R3pW/ayE0.net] ループ内で一時変数宣言したらコストが増えるってのを知って 新しいブロック作って変数宣言してみたけどなんか見た目がすっきりしない ループ内の変数宣言の新機能とかないのかな
401 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 19:14:47.05 ID:FhYMYDcaa.net] >>386 生産性って言葉は立場や状況によって指してるものが変わるんやで
402 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 19:26:17.46 ID:tYy/rBPTM.net] ソフトウェア作れると言うとソフト作って売って大儲けできるんじゃないかと よく言われる 世間はそういう感じで見てる
403 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 19:27:19.80 ID:0j7Aeluod.net] 権力持ってる人がVB推しなら決定でしょ できることはほぼ同じだし諦めな
404 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 19:36:49.44 ID:lF845d4L0.net] >>387 コストが増えるってローカル変数が増える事? 初期化するスタックの増加
405 名前:やレジスタに乗りづらくなるとか? さほど気にするもんでも…とりあえずAnyCPUで64bit優先オヌヌヌ [] [ここ壊れてます]
406 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 19:59:33.83 ID:2/OM9doDa.net] >>386 意識高めても虚しいだけだよ 10年この仕事して啓蒙もしたけどなにも変わらなかった 9割5分の人材はそもそもシステム開発に興味ないから啓蒙しても無駄 転職するか割り切るかどちらかしかない 環境を変えようと思ったら負け
407 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 05:26:41.64 ID:1xYsQegz0.net] 正規表現パズルやってたのか・・・参加したかった
408 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 12:26:50.15 ID:vFo5wc3/a.net] パズル言うほど難しい問題出てない気が... どっちかっていうと質問自体の方がハズ( 正規表現便利だけど他人の書いたの読むのキツいよねw しょっちゅう使ってれば違うのかもしれんが
409 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 15:21:12.16 ID:pHhZylOrM.net] ややこい正規表現の場合 コメントで想定okパターンくらいは書くようにしてる
410 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 15:22:14.22 ID:pHhZylOrM.net] あとテストコード入れとく場合も
411 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 17:14:18.11 ID:4H8Bkb5P0.net] フォームアプリケーションにtrackbarを2つ用意して、 pcに接続されたモノラルマイクの音量(感度?)とパンニングをそれぞれ操作したいんですが 適当な検索ワードがわからずにたどり着けませんでした できるだけシンプルに、どう書けば可能でしょうか?
412 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 17:49:02.10 ID:vFo5wc3/a.net] ググったらこんなのが出てきた 読んでないけどなんかすごい面倒くさそう... https://web.archive.org/web/20060712054058/www.terra.dti.ne.jp/~vivas/delphi/mixerapi.html
413 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 18:36:37.95 ID:NN+MTXVc0.net] 質問です ファイルの移動を扱う自作メソッドの結果を扱うクラス(Aとする)を作りました このクラスに class A{ ... public static A Output_IsCanceled(string 元のファイル) { //引数を受けて動作をキャンセルしたことを示す結果を返す。 } } のように典型的な結果を出力するメソッドを追加したのですが、 このAを継承したクラスBにこのメソッドもこのメソッドを上書きしたメソッドも実装させたくありません。 なにかスマートな解決方法はあるでしょうか。 私には大人しく別のクラスに移すくらいしか思いつかないのですが。
414 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 18:49:41.50 ID:P5rqpQdz0.net] >>399 そのメソッドを外したクラスを作ってクラスAとクラスBに継承させる
415 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 18:49:53.30 ID:lqDMGVH00.net] 親作って別々に継承
416 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 19:00:35.92 ID:NN+MTXVc0.net] なるほど 言われてみれば簡単でしたね ありがとうございます
417 名前:デフォルトの名無しさん [2019/01/22(火) 22:12:29.98 ID:ttdon+q40.net] object型の変数に入れた匿名クラスのプロパティを取得する方法で 詰まっております。 object hoge = new { fuga = 1 }; int a = hoge.fuga ←こういうイメージで取得したかったのですが。。。 ご教授よろしくお願いいたします。
418 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 22:19:56.81 ID:bu0N7pF20.net] >>403 なんでそんなことしたいの?
419 名前:デフォルトの名無しさん [2019/01/22(火) 22:25:46.51 ID:ttdon+q40.net] >>404 Dapperの引数がobject型だったのですが、Dapperに渡す前の 匿名クラスのプロパティの値を元に一つ条件式を作りたかったんです object型の匿名クラスからどうやって値を取るのか興味もありまして
420 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 22:26:33.77 ID:qwoCd5dDa.net] ほら宇宙刑事ギャバンの必殺技みたいなあれだよ
421 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 22:39:23.63 ID:g3EQ5hiYa.net] >>405 無理 渡す先の引数がobject型だからって変数の型をそれに合わせる必要はないだろ var使えよ
422 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 22:41:18.57 ID:0fUOX4Xc0.net] >>403 リフレクションを使った力業 var a = ( int )hoge.GetType().GetProperty( "fuga" ).GetValue( hoge );
423 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 22:45:23.28 ID:UB+BgHs40.net] >>403 int a = ((dynamic)hoge).fuga; てしたら取れた。なおインテリセンスはきかない。
424 名前:デフォルトの名無しさん [2019/01/22(火) 22:47:54.29 ID:N3agGC610.net] >>409 これは全く頭になかったわ
425 名前:デフォルトの名無しさん [2019/01/22(火) 23:01:01.54 ID:ttdon+q40.net] >>409 値が取れました。ありがとうございます。 結構トリッキーになるみたいなので 多用は避けた方が無難かと学びました しかし、Dappreはさらにプロパティ自体も自前で取得するので 手練れの外人は違うなと
426 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 23:21:33.35 ID:0fUOX4Xc0.net] >>411 Type.GetProperties()でプロパティの一覧が取得出来るよ。 foreach ( var propertyInfo in hoge.GetType().GetProperties() ) { var value = propertyInfo.GetValue( hoge ); Debug.WriteLine( $"{propertyInfo.Name}={value}" ); }
427 名前:デフォルトの名無しさん [2019/01/22(火) 23:32:00.27 ID:ttdon+q40.net] >>412 なるほどそうやるのですね 知らないことが多いので参考になります
428 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 00:01:29.03 ID:n+ibBTmv0.net] Androidの実機持って無いんだけど、もし、完成したC#のアプリが有った場合、 DownLoad から、実行まではどうすればいい? .Net のインストールから始まるの? C#アプリはGooglePly からDLするの? それとも自前のWebサイト?
429 名前:デフォルトの名無しさん [2019/01/23(水) 03:41:42.64 ID:g/jeFpr60.net] WPFって、最初のGUIデザインはデザイナで出来ますが、ユーザーの入力に応じてGUIを変化させたい場合 (例えば、テキストボックスに3と入力したらラベルを3つ追加するとかの場合) xamlではなくC#のソースコードでコントロール追加せざるを得ないのでしょうか?
430 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 04:35:34.67 ID:OkP0wizv0.net] >>411 匿名クラス使わなきゃいいやん
431 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 07:17:48.93 ID:bZ1m5CuBM.net] >>415 wpf xaml 条件分岐 でググレ
432 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 08:30:39.69 ID:YOQQL4jNa.net] >>415 よく考えよう その例の場合、お前はコントロールを追加したいんじゃなくて表示対象の文字列を増やしたいんだろ? C#からは「表示対象の文字列を追加する」操作だけをして、コントロールを追加するのはバインディングに任せるのがWPFの思想だ >>417 は間違いで、ググるべきキーワードは DataTemplate コレクションに文字列を追加するだけで勝手にコントロールが追加されるようになる
433 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 08:36:51.99 ID:YOQQL4jNa.net] ちなみにWebなら上記のようなまどろっこしいことをしなくてもRazorテンプレートの中に直接forループを記述するだけだ WPFの難解なバインディングは概念ばかりが先行してユーザーを置き去りにする典型的なMSの失敗作
434 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 09:43:36.18 ID:qi0lTRAT0.net] 上の人はワケワカラン書き方しているが、wpfではListBoxのItemは自由にかけるから、そこにLabelを配置して追加削除をやるってのが定番ね
435 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 09:47:33.21 ID:NxchbiGLM.net] >>420 間違い Itemsには文字列のコレクションをバインドする でItemsTemplateでDataTemplateを適用させてLabelを生成させる
436 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 11:55:57.45 ID:tAarVqiS0.net] WPF は知らないけど、一般的に、JavaScript の状態管理なら、 Vue.js, Nuxt.js など、状態管理用のフレームワークを使う
437 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 12:40:46.32 ID:x96ZzLYOr.net] ここは今からjavascriptのスレになりました
438 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 14:43:06.09 ID:PhLCwjBwd.net] >>422 ウゼーーーー
439 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 17:42:05.37 ID:yPNynzM60.net] 最近、業務システムはデータベースとデータ操作言語が8割でC#はさほど重要じゃないんじゃ。。。 と疑うようになってきました C#が主役の開発って、ゲームくらいですかね
440 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 17:50:21.87 ID:qdiHHHQi0.net] >>425 それも統計に嘘がある可能性あり。以下、各社各様、自分に都合の良いことを行っている: 一般人:「Androidのアプリの大部分は Java である」 Unity:「百万種類以上あるゲームアプリの半数が Unity(C#)製である」 Adobe:「Flash製ゲームが、100万種類を超えた。」 日本人:「日本の歴代で一番売れたゲームは、Final Fantasy xx で、700万本(売り上げにして500億円程度)」 外人:「MineCraft というゲームの売り上げが一兆円越えた。」
441 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 19:31:40.08 ID:qdiHHHQi0.net] 誤: 外人:「MineCraft というゲームの売り上げが一兆円越えた。」 正: 外人:「MineCraft というゲームの売り上げ本数が一億本越えた。」 Flash に関しては、「one million games」みたいな言葉を使って、 Adobe が「自慢」していたんだそうだ。
442 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 20:40:29.23 ID:2LIdCPNFa.net] >>425 ミクロサービス開発するとデータベース殆ど触らなくなる EF便利
443 名前:デフォルトの名無しさん [2019/01/23(水) 21:24:52.01 ID:xzA+L1aD0.net] SQL手書き最高ひゃっはp
444 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 22:51:20.49 ID:xSBZbPpe0.net] C#のデバッグ画面の診断ツールについて質問です メモリ使用量のプロファイルはデフォルトで無効だと思うんですが、いつの間にかクリックしてしまって 有効になったまま無効に戻せません VCの場合はクリックすると元に戻す出来る場所があるのですが レジストリをいじらないと駄目なんでしょうか?
445 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 18:07:50.56 ID:+k418LkV0.net] とりあえずVisual Studio Community 2017だと 診断ツールウィンドウの左上の歯車クリックで出るドロップダウンの メモリ使用量のチェック外したら次のデバッグから消える つかデフォルト有効じゃなかったっけ オンにした記憶ないし
446 名前:デフォルトの名無しさん [2019/01/24(木) 22:08:23.88 ID:nbtsb27b0.net] C#の話じゃないのかもわかんないけど、ちょくちょく出てくる「コンテキスト」ってのが何者なのか未だに理解できん プログラムの単位で!?処理の中断・継続等を担ってる!?!?とかなんとか説明されてるけど意味がわからん こいつは一体どういうもんなんじゃい?
447 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 22:17:59.01 ID:Io4qrCW00.net] >>432 何年もC#使っているけど「コンテキストメニュー」しかわからん またJavaの話じゃないだろうな
448 名前:デフォルトの名無しさん [2019/01/24(木) 22:23:04.95 ID:nbtsb27b0.net] >>433 ASP.NETでもEFでもXamarinでのモバイル開発でも、何しててもコンテキストが出て来まくるじゃない
449 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 22:34:05.54 ID:KQvEosKo0.net] >>432 「文脈」という意味で、例えば、Graphic の Context の場合なら、 ・現在の foreground color ・現在の background color ・現在の font ・「カレント座標」 (MoveTo() などで
450 名前:設定する LintTo() の開始座標) ・現在の Clipping 領域。 ・現在の 原点の位置。 などを記録しているオブジェクトのようなこと。だから、もし、同じ Window に対して 2つの Graphic Context を持てば、それぞれで別々の カレント座標や、foreground color、Clipping Region を持つことが できて、瞬時に切り替えたりできる。これが、Win32 の Device Context に相当する。 --------------------------------------- CPU の Cotext の場合、IA32BIT の場合なら、 汎用レジスタ: EAX, EBX, ECX, EDX, ESI, EDI、EBP 命令ポインタ: EIP スタックポインタ: ESP フラグ: EFALGS セグメントレジスタ: CS, DS, ES, FS, GS 浮動小数点レジスタ: ST0〜ST7 などが該当する。この Context を細かく時間を区切って切り替えることで、 MultiTask が実現できる。MultiCore CPU の場合は、それぞれの Core が 別々の Context を同時に持っていることになる。 [] [ここ壊れてます]
451 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 22:36:47.07 ID:/05KE7l40.net] >>435 ただし、JS の canvas の context は、1つの canvas に対しては、1つしか 持つことが出来ないとされており、 var ctx1 = canvas.getContext("2D"); var ctx2 = canvas.getContext("2D"); のようにしても、ctx1 と ctx2 は同じ値が返ってくることになっているらしい。
452 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 22:38:30.97 ID:/05KE7l40.net] >>435 誤:CPU の Cotext の場合、IA32BIT の場合なら、 正:CPU の Context の場合、IA32 の場合なら、
453 名前:デフォルトの名無しさん [2019/01/24(木) 23:11:19.24 ID:nbtsb27b0.net] ふえるわけわかめ
454 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 23:34:17.52 ID:9ks/14Qta.net] >>432 コンテキストの意味はコンテキストに依存するのでまずはどんなコンテキストで話してるのかはっきりしてくれ
455 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 23:41:41.55 ID:ykheMFGu0.net] Xamarinって言ってるからAndroidのContextクラスもありそう
456 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 06:33:11.37 ID:58XK3b4v0.net] >>438 紙に絵を書く場合に、色んな筆に予め色を載せておいて、必要なときにすぐに 目的の筆を選べるようにしておくと便利。その筆が context。 これだけだと単なる「brush」に過ぎないという突っ込みも有り得る。 実際のcontextは筆だけでなく、場所まで覚えてくれていたりする。
457 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 08:19:04.26 ID:VVNAHEZ90.net] DCの話し?
458 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 08:57:13.43 ID:58XK3b4v0.net] >>442 まあ、そうなんだけど、プログラミングにおける「context」というのは、 HDC と大体似たようなニュアンスを持ってると思う。
459 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 09:01:53.98 ID:58XK3b4v0.net] 日本語で、「この文脈では」「文脈をわきまえて」というものがあるけど、 直前に直線の描画を終えたばかりの「最後の座標」を覚える、っていうのが それに近い。最後に使った色を今後も使う、最後に使った座標から、 また、直線を描き始める・・・。 お葬式では暗い顔して暗い服を着る、結婚式では明るい顔する・・・。 悪いニュースは暗い顔で読み、良いニュースは楽しそうに読む・・・。 それが文脈、context。
460 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 09:13:33.36 ID:58XK3b4v0.net] それはそうと、.Netで書かれてるらしい MasterSeeker.exe と HNXgrep.exe がWin7で劇遅になった。特に起動。XPではとても快適だったのに。 起動速度が多分、3〜5倍くらいになった気がする。 Win32/MFCで書かれたアプリでは経験したことの無い現象だと思う。
461 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 12:14:00.12 ID:qfUC5qIOa.net] >>432 そんなこと考えても時間の無駄。 contextの意味もcontext依存だから。 その文脈でどういう意味で使われてるか読み取るしかない。 英語ってそういう言葉でしょ? コンピュータプログラムのcode、暗号のcode、符号のcode、 これらから還元してcodeが何を意味してるのか考えても意味ないのと同じ
462 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 12:55:33.13 ID:YHYKY/Dsd.net] fixtureもピンとこなかった
463 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 14:04:22.53 ID:HDgzt9Ph0.net] 管理者権限を必要としないで動作するソフトを作成しました、。 仮にバグがあったとして、そのバグを突かれて攻撃された場合に権限昇格等の事態は発生しますか?
464 名前:デフォルトの名無しさん [2019/01/25(金) 14:31:21.79 ID:NjeEwFLO0.net] アプリケーション1とアプリケーション2の間でメッセージをやり取りする必要が出てきたので、SendMessageを使ってもう一方のテキストボックスに メッセージを送り、TextChangedのイベントで受け取りを判断するようにしました。 ところが、アプリケーション1→2は成功するのに、2→1はうまく動作してくれません (テキストボックスに送られたメッセージは表示されますが、テキストボックスがChangeしたとは判断されていないようです)。 原因がわかる方いらっしゃったら教えてください。
465 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 16:06:37.52 ID:ihVRaCqt0.net] formにフォーカスしたときにスペースキーを押すとkeydownで拾って処理ということをやってるけど スペースを押すタイミングでform内のチェックボックスがチェックされたり消したりするけど止めることは出来ますか? ヒントを教えてください。
466 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 16:24:22.19 ID:VVNAHEZ90.net] メッセージ捨てている?
467 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 16:35:10.05 ID:cY+a6SZrM.net] >>448 所詮ローカルアプリだろ? そんなもんにセキュリティの考慮なんぞ要らん 正当なユーザーに悪意があれば自分のPCの権限制御なんぞどうとでもなるし、 権限のない第三者が悪戯できない程度には今のWindowsのセキュリティは堅固だ
468 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 19:10:00.05 ID:+fHR2Vfoa.net] >>449 MQ使っちゃいなよ
469 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 20:12:53.90 ID:GQtzdg+pM.net] >>452 ClickOnce…一般ユーザーがインストール…悪意があったら… うっ…頭が
470 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 20:21:06.45 ID:9dAxHT9C0.net] ClickOnceはホリエモンが作ったらしいで
471 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 21:40:49.02 ID:lgKiVxcFr.net] ホリエモンは天才だからな
472 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 21:50:17.27 ID:VVNAHEZ90.net] Microsoftで仕事していたの?
473 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 22:02:24.78 ID:RIyzEPA40.net] >>450 ・KeyDown用のコントロールを設定しForm全体でキーを受けるのをやめる ・別のコントロールに常にフォーカスが当たるようにする 具体的にはクリックイベントやForm.Shownのイベントメソッドを全部作ってControl.Select()かControl.Focus()を入れる ・Formからチェックボックスを無くす 下に行くほど下策。他にもあるだろうけど他の人に任せる
474 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 22:36:20.38 ID:0+JzU8ara.net] >>450 基本的にはそれあなたの仕様そのものがバグってる。 WindowsのUIのお約束に反するようなUIを作ったらあかん。 どうしてもならSetStyleを呼んでCheckBoxが入力フォーカスを持たないようにするのが筋だと思う。
475 名前:デフォルトの名無しさん mailto:sage [2019/01/26(土) 09:41:45.11 ID:0YlzP7hG0.net] >>458 >>459 フォーカスを何とかすることを考えます。とても為になりました。ありがとうございました。
476 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 16:07:38.67 ID:4O8CfcWu0.net] >>449 こういう名前付きパイプとかいうのは使えないの? https://docs.microsoft.com/ja-jp/dotnet/standard/io/how-to-use-named-pipes-for-network-interprocess-communication
477 名前:デフォルトの名無しさん [2019/01/28(月) 16:43:45.23 ID:ji//xT0NF.net] TCPsocketとか使う
478 名前:デフォルトの名無しさん [2019/01/29(火) 18:28:09.44 ID:lSFWGay90.net] 質問です 100msとかの短い間隔で繰り返す場合、 Systems.Timers.Timerを使って処理を繰り返すのと while中にSleepかTask.Delayで間隔をとって繰り返すのとでは どっちが処理がはやくて負荷が少ないですか? またそれぞれのメリット・デメリットがあれば教えて欲しいです
479 名前:デフォルトの名無しさん mailto:sage [2019/01/29(火) 18:32:52.89 ID:KZd0CVbOa.net] 回答待つ間にやってみたらいい
480 名前:L mailto:sage [2019/01/29(火) 18:47:23.89 ID:8rAEnTT80.net] >>463 Sleep() 自体はそんなに積極的に使うべきものではない。ただし、 「逐次処理」で書いたほうが書きやすいような場合に使うと便利 な場合がある。例えば、単なる繰り返しではない、以下のように順にコードを 実行していくような場合: (処理1) (何かのフラグが変化するか、または単に時間が経つまで待機) (処理2) (何かのフラグが変化するか、または単に時間が経つまで待機) (処理3) ・・・ ここで、処理1、処理2・・・の内容がほとんど同じような場合は、Timer を 使うべきだが全く違うようなものが10個も並ぶような場合だったら、Sleep() を使うと楽。 SetEvent() などの同期オブジェクトを待つ WaitForSingleObject() などがサポート されてない環境において、何かのフラグが立つのをポーリングして待たざるを得ない ような時に、間に何も「はさまない」でループするとCPUがフルパワー状態で回って しまって電気の無駄使いになるのが、Sleep() を「はさむ」と、Sleep()に指定する 待ち時間がたとえ短時間であっても、Sleep() の中で待ってる間は CPU が HLT 状態 になるので、電力消費を劇的に抑えることが出来る。 WaitForSingleObject() などが存在する環境では、Sleep() は余り使わないで良い。
481 名前:デフォルトの名無しさん mailto:sage [2019/01/29(火) 18:47:44.92 ID:aKVTslCz0.net] >>463 役割が全部違う Sleep 指定時間の間は同じスレッドでのGUI等の入力が停止する Sleep/Task.Delay (実行後に)確実に指定した時間が停止する Timer 指定した間隔で実行される
482 名前:デフォルトの名無しさん mailto:sage [2019/01/29(火) 18:59:35.28 ID:8rAEnTT80.net] 【参考】 Sleep() の意味は、待つときに、HLT 命令を使うこと。HLT 命令は、特権命令なので ユーザーランド(一般アプリ)のプロセスでは実行できないため、OSのAPIで実行して 貰うしかない。なお、マルチタスクOSで、HLT 命令を実行すると、他のプロセスに実行が 移ることが多い。 多くのアーキテクチャに置いて、HLT 命令は、「busy wait」で待つよりも、 劇的に電力消費と熱の発生を抑えることが出来る: https://en.wikipedia.org/wiki/HLT_(x86_instruction) Almost every modern processor instruction set includes an instruction or sleep mode which halts the processor until more work needs to be done. In interrupt-driven processors, this instruction halts the CPU until an external interrupt is received. On most architectures, executing such an instruction allows the processor to significantly reduce its power usage and heat output, which is why it is commonly used instead of busy waiting for sleeping and idling.
483 名前:デフォルトの名無しさん mailto:sage [2019/01/29(火) 19:19:24.76 ID:BTNuwc+5a.net] >>463 どっちにしろそんな違いがプログラムのパフォーマンスに影響なんかしないw そもそも可読性よりパフォーマンスを優先する時代じゃない。 つまりより可読的な方法を選択すべき。 一定間隔で処理を繰り返すなら普通はタイマーを使った方が可読的でしょう、 繰り返し終了後に別の処理を継続させたい、みたいな事情があればあえてループ(つまりSleep)を 選択する場合もあるかもしれない
484 名前:デフォルトの名無しさん [2019/01/29(火) 20:17:02.92 ID:lSFWGay90.net] >>465-468 みなさまありがとうございます。 特にSleepの解説は勉強になりました。 パフォーマンスも特に影響無いようで、 一定間隔で処理するのでTimerを利用することにします。
485 名前:デフォルトの名無しさん mailto:sage [2019/01/29(火) 21:31:43.87 ID:ftdCQ0WJa.net] this.Close()でアプリを終了させた時、 デバッグモードだとProgram.csの方でエラーが表示されますがこれは気にしなくていいエラーでしょうか?
486 名前:デフォルトの名無しさん mailto:sage [2019/01/29(火) 22:05:21.74 ID:JPJ1HyJa0.net] 気にしなはれ
487 名前:デフォルトの名無しさん mailto:sage [2019/01/30(水) 01:49:16.67 ID:DZ6eQREq0.net] WinFormsのデスクトップアプリでVSyncを待つコードを教えてください Unityなとのフレームワークやゲームエンジ、DirectXラッパーを 使うことは許されていません
488 名前:デフォルトの名無しさん mailto:sage [2019/01/30(水) 04:02:46.09 ID:/8sJMxSkM.net] >>472 無理に100ペリカ
489 名前:デフォルトの名無しさん mailto:sage [2019/01/30(水) 07:29:11.42 ID:foE0k69S0.net] >>472 P/Invoke禁止とは言われてないのだな ではD3DKMTWaitForVerticalBlankEventを使いましょう 名前はD3Dとありますがgdi32にある関数なのでDirectXではないと 糞ルールを決めた上司に主張しましょう
490 名前:デフォルトの名無しさん mailto:sage [2019/01/30(水) 08:12:13.35 ID:/B2wAYnE0.net] >>468 可読性という理由でラムダ式の表記禁止して5,6段のネストは許されている俺社
491 名前:デフォルトの名無しさん mailto:sage [2019/01/30(水) 08:37:51.08 ID:/+A/bmbGa.net] 可読性も人それぞれ
492 名前:デフォルトの名無しさん mailto:sage [2019/01/30(水) 08:46:16.74 ID:hYqQd3E1d.net] あるフォルダ(A)内に不定期に作成されるファイルを、ローカルのフォルダ(B)に一定間隔でコピーします(フォルダ内全てではなく、前回からの差分ファイルをコピー)。 今回コピーしたファイルを使って後続処理をしたいのですが、どのようにしたら今回コピーしたファイルだと判別できますか?ファイル名にはタイムスタンプが入っています。 コピー後にA内のファイルを削除などできず、コピーのみ可能です。
493 名前:デフォルトの名無しさん mailto:sage [2019/01/30(水) 08:49:12.12 ID:/+A/bmbGa.net] >>477 データベースにヒストリを保存すればよろしいかと
494 名前:デフォルトの名無しさん mailto:sage [2019/01/30(水) 09:59:39.11 ID:E37rjQ75a.net] >>477 別のフォルダに "<ファイル名>.trigger" みたいな一時ファイルを作って処理後に消せばいい
495 名前:デフォルトの名無しさん mailto:sage [2019/01/30(水) 18:35:51.42 ID:hYqQd3E1d.net] >>477 ありがとうございます。 コピー済みのファイル名をDBに保存しておき、そこにないファイルは新規ファイルとして処理する。 こんな判断になりそうです。
496 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 15:06:18.62 ID:k6O3ixIF0.net] Unsafe.の質問ってここじゃ不適切だよね と言ってもここ以外にまともなC#スレはないようだけど
497 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 16:28:47.69 ID:wgv6NCGX0.net] 相談室スレでもいいよ 多分回答者はこのスレと共通だけど
498 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 17:28:39.66 ID:hO+r/SI90.net] Dictionary 型の自動ってないですか。 とあるキーに対してInsert/Updateするとき、 いちいち ContainKeys してから Add するかしないか、ってのがイケてないと思うのですが dicHoge["Key"] = "hoge"; ってしたとき、Key がなかったら Add して、あったら値を差し替える、みたいな動きする標準クラスないですか?
499 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 17:42:31.36 ID:06DUsvP/
] [ここ壊れてます]
500 名前:0.net mailto: 何の話? [] [ここ壊れてます]
501 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 17:44:45.57 ID:KzsKuKr5M.net] >>483 ConcurrentDictionaryのTryAddとかTryUpdateとか
502 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 17:46:25.97 ID:+2lIT2P6a.net] >>483 自動って表現が新しいw 確かにそんなメソッドがあってもよさそうだけど、 たぶん分かりやすい命名がしづらい割には単純にRemove後のAddで 実現できちゃうから用意されてないんじゃないかなと想像
503 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 18:07:55.31 ID:zfSfgMG3d.net] 多分無いのかな? 「dictionary 拡張」で調べると拡張コードが出てくるからこの辺りから必要なのコピペして関数増やした方が早いかも
504 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 18:34:02.36 ID:wmh3wxbj0.net] dicHoge["Key"] = "hoge"; これの何がダメなの?
505 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 19:16:07.42 ID:Is8hbjin0.net] >>483 > dicHoge["Key"] = "hoge"; > ってしたとき、Key がなかったら Add して、あったら値を差し替える、みたいな動きする標準クラスないですか? Dictionary<TKey, TValue>はまさにその挙動だが
506 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 19:16:34.95 ID:nQoHUWUF0.net] 何か別の言語と勘違いしてんのかな C++のmapみたいに存在しないキーにアクセスしたら自動的に初期値が入ればいいなと思ったことはある var d = new Dictionary<string, int>(); d["a"]++; こういうのできたら楽
507 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 21:30:37.03 ID:yHmpMqGVM.net] >>483 var
508 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 21:46:52.01 ID:2xzbyMOq0.net] hashset
509 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 00:06:39.55 ID:1o0umz0dp.net] 拡張メソッド作ればええんちゃうか
510 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 00:37:05.77 ID:SfS6VrgI0.net] そーいえば、ちょっと便利な Dictionary を作りたくて、これの完全ラッパーなクラスを作ったことあったな。 いまから考えれば無駄な労力だと思うが。w
511 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 00:46:34.52 ID:Lo/lI1+50.net] そんでDictionaryのインデクサが要求そのまんまの挙動であることについてはどういう見解なのだ なんでそんな質問したんだ 気になるだろ
512 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 01:27:01.49 ID:Melu7CRC0.net] .Addメソッドも存在してるから 初見だと[]=valueがAddOrUpdateだとは思えないのはまぁ分かる
513 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 03:22:41.97 ID:V0cnsy7O0.net] 質問する前にちょこっと作って見ればすぐ分かるのに
514 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 12:54:05.03 ID:hIHuQnKx0.net] >>474 ありがとうございます D3DKMTWaitForVerticalBlankEvent に渡す D3DKMT_WAITFORVERTICALBLANKEVENT の 以下の3つはどのように取得すればよいのでしょうか D3DKMT_HANDLE hAdapter; D3DKMT_HANDLE hDevice; D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
515 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 17:55:46.18 ID:mF+gwDus0.net] var dicHoge = new Dictionary<string, string>(); dicHoge["Key"] = "hoge"; って、いきなり出来ちゃうんですか。 ダメと思って試しもしなかったです。
516 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 18:45:15.00 ID:9eIyz51RM.net] System.Data.DataTable なんて使ったら悶絶しちゃうかもな
517 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 19:27:14.70 ID:Lo/lI1+50.net] >>498 そのくらい自分でぐぐって調べろ と突き放そうと思ったけど要望そのまんまのコードが出てきたのでまあええわ https://github.com/fuse-open/fuse-studio/blob/master/Source/Fusion/Windows/VerticalSynchronization.cs 素直にIDXGIOutput::WaitForVBlank辺り使った方が良いと思うけどネ
518 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 12:37:02.16 ID:ZxPovaO5M.net] >>495 俺も最近似たようなもんが欲しくなったときがある ・重複したときに別の処理が必要 ・登録した順番が重要 ってときにDictionary自体使わんで KeyValuePairのListばっかり使うようになった つーのはログの出力まで出したいときに登録した順に出したいから ログ出力するもんにはDictionary使わなくなった
519 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 15:42:40.54 ID:jpAIKS8U0.net] ログ取ってるなら逆にDicで困らんと思うけど
520 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 15:49:56.24 ID:IKDI2S7C0.net] >>503 入れたときじゃなくて別のタイミングで出したい 順番に保証がないと困る って場面
521 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 15:58:01.30 ID:7GVwTPrN0.net] ログ出力する時に並び替えるだけで済むのでは?
522 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 16:04:15.94 ID:IKDI2S7C0.net] >>505 どうやって?
523 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 16:18:53.59 ID:LOT7/zBp0.net] つかそれKeyは何なんだよ それがキー項目である必要あるのか?
524 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 17:01:46.98 ID:cLU3XamPa.net] >>504 dict[key] = value; mySpecialLogger.Log($"dictに追加したぞ: {key}, {value}"); ---- mySpecialLogger.Flush();
525 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 17:56:25.94 ID:EhLznF4nM.net] SortedListやSortedDictionaryでいいだろ
526 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 19:21:16.88 ID:ZOlWRYsg0.net] 登録順ならOrderedDictionary
527 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 11:39:31.27 ID:2YxD3k7B0.net] >>501 できました、ありがとうございました IDXGIOutput::WaitForVBlankは呼び出すまでがよくわからないし P/Invokeだけでできるのかもわからないのでやめておきます
528 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 13:36:44.96 ID:AKeTBC2ia.net] ReadOnly=trueのテキストボックスをクリックしてしまった時に フォーカス映ってカーソルがチカチカしないようにしたいのですがプロパティ上で設定できないのでしょうか?
529 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 13:48:21.68 ID:B1LZYLJj0.net] GotFocusのたびにWindowsAPIのHideCaretの呼び出しが必要じゃないかな
530 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 14:07:22.27 ID:/rUNKcNUa.net] >>512 コピーを想定してそうなってるので、TextBoxを使うならその仕様は買えない方がよいのでは。 コピーなんかできなくてもいいなら素直にLabelを使いましょう。 BorderStyleやBackColorをいじればTextBoxに近い外見にも出来る
531 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 15:54:30.95 ID:AKeTBC2ia.net] テキストボックスの上に後付けでボタン配置したので、ポインタずれて押しそこなった時にそんな感じになってしまったのです まあ動作的にはなんの問題もないのではあるけど>>513 のイベントハンドラ作ってみます ありがとうございました
532 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 08:55:05.54 ID:3J1ruy+d0.net] rar5をオンメモリで解凍、ストリーム取得できるライブラリは無いですか?
533 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 10:59:50.41 ID:svez8hxC0.net] >>516 sharpcompressでそれっぽいことできてるな https://www.nuget.org/packages/sharpcompress https://github.com/adamhathcock/sharpcompress/blob/master/tests/SharpCompress.Test/Rar/RarReaderTests.cs
534 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 11:07:59.15 ID:svez8hxC0.net] すまんrar5は未対応みたいなこと言ってるわ
535 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 11:21:25.96 ID:svez8hxC0.net] ほんならこっち 7z.dllのラッパー https://www.nuget.org/packages/SevenZipExtractor/ https://github.com/adoconnection/SevenZipExtractor/blob/master/README.md
536 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 12:48:55.07 ID:cT2SE72s0.net] web上の画像をダウンロードせずに 高さと幅を取得する方法があれば教えてください
537 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 13:03:57.50 ID:GPC4C0Pm0.net] 電話で聞く
538 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 13:37:05.03 ID:RjbzZp8x0.net] >>520 先頭だけ取得して解析するくらいが関の山じゃない? https://developer.mozilla.org/ja/docs/Web/HTTP/Range_requests
539 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 15:25:13.53 ID:cT2SE72s0.net] >>522 ありがとうございました
540 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 15:40:50.37 ID:3J1ruy+d0.net] >>519
541 名前: 回答ありがとうございます。 SevenZipExtractorですが、プロジェクトにNugetで取り込んでも正常に認識してくれず使えませんでした。 SharpCompressですが、(まだファイルの一覧だけしか試していませんが)RAR5での圧縮ファイルを扱えました。 SharpCompressは前に使っていたことがあるので(当時はRAR5が使えなかった)、こちらを使おうと思います。 [] [ここ壊れてます]
542 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 17:04:13.00 ID:CPjaAgWSM.net] vs2013なんですけど、バーコードを作るメジャーな方法って何があるでしょうか?無料がいいです。
543 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 17:23:07.87 ID:jB1piIf60.net] 無料ならGPLv3でもええんか
544 名前:デフォルトの名無しさん [2019/02/05(火) 17:28:38.13 ID:dQJUt0gZF.net] ライブラリいっぱいあるで
545 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 18:20:58.39 ID:C5l7MRqld.net] >>525 メジャーなのはZXing
546 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 21:05:22.94 ID:XsUhL+1b0.net] 何かライブラリ無いかなと思ったらまずNuGet見てみる
547 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 12:34:37.03 ID:ymLQaaTBd.net] C#で書いたコードをVBAから呼び出す際のC#でのやり方を教えてください。 例えば、MessageBoxで「Hello!」と表示するには何をどうすれば出来ますか? 使ってるのはVisualStudio2017です。
548 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 12:38:03.13 ID:ymLQaaTBd.net] >>530 引数でHelloを持ちかえる方法です。
549 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 13:05:34.43 ID:pq3DhSMgM.net] 日本語でOK!
550 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 13:11:17.81 ID:/72vyC150.net] >>530 ググレカス C#で実装したコードをVBAとかVBから使う方法 : 実験ぶろぐ(仮)試供品 https://needtec.exblog.jp/21522702/
551 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 16:15:23.61 ID:sqv9vum40.net] https://gist.github.com/katabamisan/5231237 上記サイトのIniFileクラスでBufferExpandingSizeを小さくしてから GetSectionNamesを呼び出すとループ2回目のGetPrivateProfileString呼び出しのタイミングで 例外も発生せずにプログラムが異常終了してしまうのですが何が問題なんでしょうか?
552 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 18:20:24.61 ID:ymLQaaTBd.net] >>533 書いてるコードの意味がよくわからないので単純なコードが知りたいんです。
553 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 18:30:37.80 ID:1DcU3Gnhp.net] コードコピペして自分の使ってるクラスに直せば出来ると思うけど インターフェース作ってなければクラスから作って置き換えればサンプルコード通りに動くはず
554 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 18:54:31.06 ID:cXGNS95ra.net] >>535 C# メインルーチンからメッセージボックスを表示 VBA shellを使って↑を起動
555 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 21:20:24.24 ID:SSakxrcH0.net] >>534 GetPrivateProfileStringの定義がCharSet.Unicode指定してるから 第5引数のnSizeはwchar_tの個数を指すことになる wchar_tは2バイトだからnSizeに16指定したらlpReturnedStringは32バイトあることになる でも実際にはその半分の16バイトしか確保してないから GetPrivateProfileStringが17バイト目以降に書き込もうとしてヒープ破損する
556 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 10:39:20.42 ID:BTY8+ybz0.net] >>538 文字セットのことがすっかり頭から抜けてました WinAPIを使うなら真っ先に気を付けないといけない部分なのになあ ・ReAllocCoTaskMemで確保するサイズをlength*2に
557 名前:変更 ・GetPrivateStringのCharSetをAnsiに変更、文字列への変換をPtrToStringAnsiに変更 上記2通りの修正でどちらも正常動作することが確認できました 回答ありがとうございました [] [ここ壊れてます]
558 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 18:21:29.96 ID:yK9ubdQXd.net] VS2017使用。 ADOを使ってエクセルのシート名を読んだりセルのデータを読み取りたい。 対象エクセルブックは〇〇.xlsのみ ネットのサンプルコードをコピペして使ってもエラーでさっぱりです。 何かインストールが必要なんですか?それとも参照設定とか必要なんですかね? なんか雛形のコードでもあればいただけませんか?
559 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 19:01:48.27 ID:l2uiBAtS0.net] 具体的にどのサイトのコードを試したら どんなエラーメッセージが出たのかを書いてくれ
560 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 19:28:54.09 ID:yK9ubdQXd.net] https://qiita.com/OneK/items/c3077aea595635f40ee5 このサイトの下のコードです。 adp.Fill(dt);←ここでエラーです。 return dt; } 今パソコンから離れたのでエラー内容は忘れましたが何かがないぞみたいな感じでした。
561 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 20:24:29.71 ID:3NiqE0/P0.net] >>540 https://csharp.keicode.com/topics/how-to-use-exceldatareader.php これじゃあかんの?
562 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 21:34:46.19 ID:FLUWNW3J0.net] >>543 これも明日試してみます。 でもいろいろとコードの引き出しがあったらいいなって
563 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 21:37:56.26 ID:FLUWNW3J0.net] >>543 速度はどうなんですか?早いですか?
564 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 22:02:28.76 ID:O0GaOve00.net] >>545 ウゼェ、やる気がねーなら エロゲでもやってろ
565 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 22:23:39.18 ID:iyj2o48P0.net] こんばんはよければ教えてください c#で社内用のソフトをしこしこ作っているものなのですが、同じ境遇の方ヘルプファイルはどの形式で 作っていますか? chmファイルは今時便利なツールもないので作りにくいのですが、pdfではなんか味気ない 今回新たなソフトを社内でリリースするので悩んでいます。 あ、ちっちゃい会社です。
566 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 22:28:55.73 ID:CKGjxJfq0.net] もしかしてc#全く関係ない話?
567 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 22:35:04.98 ID:VZhzokSX0.net] > pdfではなんか味気ない その謎の価値観を改めればすべて解決です
568 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 23:39:26.83 ID:Q7Nq6LQdd.net] >>547 sandcastleでchmやHTMLのヘルプを簡単に生成できるよ
569 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 23:40:23.99 ID:Q7Nq6LQdd.net] >>548 C#のコメントからヘルプを生成する話だよ
570 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 23:47:55.01 ID:O0GaOve00.net] doxygen的なのって新しいの出た?
571 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 00:00:34.72 ID:JeOi55qM0.net] sandcastleなつかしい
572 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 00:09:17.11 ID:yxq5pHtX0.net] >>553 今でもメンテしてる人いるし! https://github.com/EWSoftware/SHFB
573 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 00:42:26.66 ID:zMW+eOHy0.net] markdownで書いてhtml出力
574 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 00:59:36.44 ID:wLiZux8Md.net] >>555 ソースコードから生成しないのは非効率でしょ
575 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 01:02:48.69 ID:kZW3St4e0.net] ソースコードから設計書出すならわかるけど、今回の質問はヘルプファイルでしょ?
576 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 01:18:59.44 ID:e7pcoQvna.net] 社内ならConfluenceみたいなwiki的なサービス使えば? ファイルで配ると後でメンテに苦労することになるよ
577 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 01:22:13.31 ID:yxq5pHtX0.net] >>557 C#のスレなんだからヘルプと言えばクラスリファレンスだろ
578 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 01:45:40.32 ID:NCJ1sppLp.net] ユーザー向けのヘルプファイルだろ 質問した本人出てこないから結論出ないけど
579 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 06:02:12.24 ID:86VvLP3ma.net] 簡単なゲーム作ってみたのだけど仮にこれを配布するとしたら 動作環境は何を基準にして明記したらいいのでしょうか Windowsの人なら特になにか入れてもらわなくてもだいたい動くってことでしょうか
580 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 07:19:45.32 ID:en2thcC6M.net] >>555 に一票 俺はAsciiDocだけど
581 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 07:20:35.11 ID:Weq4zX9xd.net] 対処にした.netでしょう。 win7はデフォだと3.5 win8がデフォだと4.5 win10はデフォ4.6がはいってる。 win8とwin10は3.5系はデフォでは入ってない。 一般的には、4.5で作っておけばトラブルは少ない。 async awaitも使えるし、入ってることが期待できる。 .net coreは開発者でないと、入れてることは期待できないので、入れてもらう形かね。 一般の非開発者は、.net framework と .net coreの二系統に大きく別れてるとか 知らないので、coreは注意が必要かもねぇ
582 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 07:33:47.03 ID:JXgoNARF0.net] むしろCoreはランタイムをSelf-containedにできるから実行環境の状況を気にせず済むでしょ (まだデスクトップアプリの開発環境として整ってるとは言えないけどそれはそれ)
583 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 07:37:27.34 ID:N+zrhIiBd.net] >>563 4.5はもうサポート切れだからだめやろ
584 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 14:02:16.37 ID:wLzz2paeM.net] 今更新規でFull .NET使うのはお勧めできないな 結局.NET standardはMSが早くも投げ出して崩壊し、今後は.NET Coreに一本化される 既存の.NETアプリは全てレガシーの産廃だ
585 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 14:09:17.61 ID:N+zrhIiBd.net] >>566 ASP.NET Coreも、3.0からは.NET StandardじゃなくてCore3.0だけをターゲットにするしねw
586 名前:デフォルトの名無しさん [2019/02/08(金) 16:42:05.01 ID:DCBa2RJt0.net] 指定のdatetimeまで待つ処理はどのように書けばよいでしょうか? GUIアプリケーションで出来れば待っている間も操作可能 なるべくcpuの負担が軽くなる方法が良いです よろしくお願い致します。
587 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 16:47:22.48 ID:xI0+6qTx0.net] >>568 それは、まず、タイマーを起動して、1秒間に一回程度、自前の関数が 呼び出されるようにしておく。そして、その自前の関数で現在の日時を 取得して、条件に合う日時になっているか調べる。そして、条件に合って いれば、好きな処理をする。そうすればいい。
588 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 16:58:08.14 ID:hTn4Mfg30.net] >>569 Thread.Sleepの方がいいんじゃね?
589 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:08:32.00 ID:wLzz2paeM.net] >>568 タスクスケジューラ
590 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:20:02.58 ID:xI0+6qTx0.net] >>570 それだと GUI の処理がほぼ完全に止まってしまい、アプリがほとんど操作不能 になるハズ。
591 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:23:59.58 ID:T5iT/olM0.net] >>568 アプリが起動しっぱなしなら指定日時から現在日時を引いて await Task.Delay()等でタイムアウト待つとか、他は>>571 かね
592 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:28:55.52 ID:1w1isakW0.net] do-whileもいいと思う
593 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:33:15.83 ID:hTn4Mfg30.net] >>572 待つロジックをThreadにすればいいだけじゃね?
594 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:48:48.00 ID:xI0+6qTx0.net] マルチ・スレッドというのは、プログラミング経験を沢山積んだ人が使うもので、 非常に原因の特定が難しいバグを引き起こすことがあるので、初心者には お勧めできない。同期オブジェクトや atomic アクセス、volatile などを 正しく
595 名前:理解してからでないと危険を伴うことがある。 async も独特で複雑なことをやっているので、プログラミング初心者が、何が起きて いるのかを理解するのは難しい。なんとなく動くかもしれないがうかつに使うのは やめたほうがいいと思う。 [] [ここ壊れてます]
596 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:50:59.48 ID:xI0+6qTx0.net] async は、↓のような複雑な control flow になる。 それを全部理解してから出ないと危険。 https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/media/navigationtrace.png https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/
597 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:11:51.00 ID:JXgoNARF0.net] GUIちゅーてんだから普通にWinforms/WPFのTimer/DispatcherTimerを紹介すりゃええんでないの 数日間待機させたいとかになるとまた話が違ってくるしもうちょい質問の要件をハッキリさせて欲しいけど
598 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:25:10.33 ID:ccTwL3cjM.net] 指定日時後の起動はタスクスケジューラに任せた方が良いと思う GIU側の仕事はスケジューラヘの登録と指定日時にスケジューラが起動したプロセスとの通信
599 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:28:22.25 ID:xI0+6qTx0.net] C#も汚い言語になってきたなー
600 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:32:16.25 ID:xI0+6qTx0.net] なんか、JavaScript そっくりになってきる。JavaScript は汚いのにな・・・。
601 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:49:11.69 ID:5c9t7/Awd.net] 汚いとは?
602 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:56:00.90 ID:wLzz2paeM.net] JavaScriptそっくりもクソも、JavaScriptのasync/awaitはC#が発祥だぞ それをJavaScriptもPythonもKotlinもそっくりそのまま真似した 汚い機能だと感じる君の感覚は否定しないが、好みは別にして非同期プログラミングのデファクトスタンダードであるのは事実だ
603 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 19:49:11.94 ID:lL88DpXz0.net] 割り込んですまない。 SolrNet を使ったことあるヤツがいたら知恵を貸して欲しい。 SolrNet を使ってこんなことをやってみた。 Startup.Init<[適当なモデルクラス]>( [SolrのサーバーURL] ); var solr = ServiceLocator.Current.GetInstance<ISolrOperations< [適当なモデルクラス] >>(); まあごく当たり前の初期処理なのだが、実行すると2行目の Current の中身が null でヌルポエラーになる。 原因がわからなくてしばらく悩んで、GitHub にあるサンプルコードをダウンロードしてきてコピペしても同じだったのだが、 ダウンロードしたソリューションをビルドして実行するとこの部分を問題なく通過する。 またしばらく悩んで、nuget でダウンロードしてくる SolrNet のバージョンに違いがあることに気がついた。 どうやらバージョンが 0.5 以下だと通過し、それ以降のバージョンだとヌルポエラーになるようだ。 最新のは 1.0.1 だったか、このバージョンで上の部分を通過させるに必要な事はなんだろう。心当たりがあったら教えて欲しい。 0.5 の辺りって、その辺りを境に他のパッケージを参照するようになってるぽいのだけど関係があるだろうか。 これを使えってご指定なんだよな。。
604 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 20:41:31.54 ID:OM4aCJGta.net] >>568 一応これでできるけど、これがベストかどうかは知らん private static async Task WaitTillAsync(DateTime dt) { var now = DateTime.Now; var span = dt > now ? dt - now : TimeSpan.Zero; await Task.Delay(span); } private async void button1_Click(object sender, EventArgs e) { await WaitTillAsync(DateTime.Now.AddSeconds(10)); MessageBox.Show("10秒後にこんにちは"); } >>566 マジですかw
605 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 2
] [ここ壊れてます]
606 名前:1:46:41.47 ID:tTA+g4g80.net mailto: >>585 それだとNTPで時計合わせが発生したらズレる 素直にSystem.Timers.Timerで500ms位ごとにElapsedさせて、 指定時刻を過ぎてないか見るのが簡単。 マイクロ秒まで精度出したいっていうのなら、そもそも使うOS間違ってる。 [] [ここ壊れてます]
607 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 22:17:53.01 ID:uDI35RTx0.net] >>583 Rustは結局どうなったんだっけ?
608 名前:デフォルトの名無しさん [2019/02/08(金) 22:27:25.20 ID:DCBa2RJt0.net] みなさんありがとうございます。 一応自分で書いていたのは>>585 さんに近くて設定時刻前ならそのまま、設定時刻を過ぎてたら一日足して現在時刻との差をawait Task.Delayしました。 タイマーの精度はそんなに必要なく1分間隔で大丈夫で、24時間起動で毎日朝8時から夕方17時までプログラムを止めるみたいな感じです。 同じプログラムを大量に起動するので処理はなるべく軽いのが希望で ループ処理で毎分チェックするようなのは重いイメージがあるのですが大丈夫でしょうか? また、時計合わせが発生したらズレるというのはどういうことでしょう?
609 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 22:30:54.02 ID:wLzz2paeM.net] >>588 ポーリングが嫌ならタスクスケジューラを使えばいい プログラムから簡単に登録できる
610 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 22:53:24.62 ID:OM4aCJGta.net] >>586 えらい重箱の隅だけどまあそうだねw private static async Task WaitTillAsync(DateTime dt) { await Task.Run ( () => { while (dt > DateTime.Now) Thread.Sleep(500); } ); }
611 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 23:23:03.92 ID:wLzz2paeM.net] >>590 プロセスが落ちることを想定せよ NTPなんかより遥かに影響を受ける可能性の高い事象である やり直し
612 名前:デフォルトの名無しさん [2019/02/08(金) 23:32:28.45 ID:Waqd0NNdr.net] どのへんでプロセス落ちるの?
613 名前:デフォルトの名無しさん [2019/02/08(金) 23:33:09.16 ID:DCBa2RJt0.net] >>590 Thread.Sleepの所Task.Delayにしても大丈夫でしょうか?
614 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 23:42:34.81 ID:wLzz2paeM.net] >>592 どこでも 質問者は24時間起動って言ってるんだから当然想定すべきだよ
615 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 00:44:22.99 ID:jhOjUKEBa.net] >>593 もちろんいいと思うけど、 () => { while (dt > DateTime.Now) Thread.Sleep(500); } が async () => { while (dt > DateTime.Now) await Task.Delay(500); } に文字数が増えて、使うTaskも増えて、かといってメリット無いような気が
616 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 00:46:47.47 ID:3dJvh84X0.net] await, async は、簡単なことを難しくしてしまう。
617 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 00:52:22.81 ID:8aikkfMy0.net] C#は、もはや、C++やCとは似ても似つかなくなってしまってる。 control flow がめちゃくちゃ複雑で、何をやってるのかわからなくて 生ポインタの1,000倍危険。
618 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 00:58:38.23 ID:jhOjUKEBa.net] () => { while (dt > DateTime.Now) Task.Delay(500).Wait(); } の方が素直か。 何かTask.Delay使った方がいい理由ってあるかな
619 名前:デフォルトの名無しさん [2019/02/09(土) 01:13:05.43 ID:dvMZ7Shb0.net] PDFファイルからテキストを抽出する方法でオススメはありますか? 調べたところiTextSharpとPDFBoxは見つかりましたが、たまに読めないPDFがあるのが残念です。
620 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 01:45:47.26 ID:8aikkfMy0.net] C# の async, await を開発したのはこんな人。写真付き: https://www.orioninc.com/c-async-and-await-programming-model-from-scratch-introduction/
621 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 01:49:31.12 ID:kYloXoqBd.net] >>599 一番確実なのは製品版のAcrobatを使うことではないでしょうか
622 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 01:49:48.79 ID:U3ljW3xz0.net] >>598 この流れでもう二回書かれてるけどawaitしないとその間メッセージキュー処理できないでしょ あとTimer使えば済むロジックを自分で書かないの
623 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 01:55:33.22 ID:dvMZ7Shb0.net] >>601 私の技術力が低いので初心者用スレで質問させていただいたのですが、それを購入したとして初心者でもネットで調べる程度で可能ですか? 上に書いたiTextSharpとPDFBoxは、ネットに転がってたソースを丸パクリでやりました。
624 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 02:16:09.35 ID:UMSUoHVI0.net] >>595 後者はTask.Run()が不要だから、むしろタイプ量は減るよ。 await Task.Run( () => { while (dt > DateTime.Now) Thread.Sleep(500); } ); と while ( dt > DateTime.Now ) { await Task.Delay(500 ); }
625 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 02:39:48.15 ID:U3ljW3xz0.net] ん? Task建ててる部分見てなかった、俺のレスのは忘れて
626 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 02:40:17.09 ID:UMSUoHVI0.net] 後、細かいことを言うと、 Task.Run()でThread.Sleep()だとSleep()してる間もThreadPoolのThreadを1つ占有してしまうが、 Task.Delay()ならその間はThreadPoolのThreadが開放される。
627 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 02:47:07.48 ID:jhOjUKEBa.net] >>602 スリープするのはUIスレッドじゃないのでそれはありませんよw これ、ちょっと前にも書いたけど、Timerを使った方が可読的になる場合ももちろんあるし、 そうでない場合もある。 つまり、別に車輪を再発明してるんじゃありません。 質問者がどっちのケースかは分からない
628 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 02:54:59.91 ID:jhOjUKEBa.net] >>604 ああ、なるほど。 正直非同期メソッドって書きなれてないから目からうろこ
629 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 03:02:23.38 ID:zy9w8qc80.net] >>603 SDKは自由にダウンロードできるからドキュメント見て自分で判断しておくれ https://helpx.adobe.com/jp/acrobat/kb/2558.html
630 名前:デフォルトの名無しさん [2019/02/09(土) 07:11:19.34 ID:Bzu1ndzH0.net] 待つだけの処理で1スレッド消費しちゃうのは良くないな かといって単純にAwaitを使っただけのコードだと、どこかでデッドロックが生まれる可能性が増えたり、待てずにメインスレッドが抜けてしまったりする危険が出てくる ここはコルーチンしか無いでしょ!!コルーチン最高!!!!
631 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 07:16:35.24 ID:rkd3w/wq0.net] タスクスケジューラにしとけよ
632 名前:デフォルトの名無しさん [2019/02/09(土) 07:35:28.00 ID:Bzu1ndzH0.net] タスクスケジューラはC#自体の機能じゃないからな、漢は黙ってコルーチン!!!
633 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 07:42:48.42 ID:onf/I33CM.net] 私、待つわ〜何時までも待つわ〜 例え対象スレッドが落ちていても〜
634 名前:デフォルトの名無しさん [2019/02/09(土) 08:32:22.73 ID:6iVlgEPUr.net] >>594 それ非同期関係なくない?
635 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 08:45:27.49 ID:O6W3Dl2k0.net] >>583 kotlinはそっくりそのままと言えるものではなく 奇怪な何かになってる
636 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 08:47:26.04 ID:O6W3Dl2k0.net] >>614 次はWindowsが落ちることを想定しよう
637 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:10:00.80 ID:YnD8XTKW0.net] c++はc#の何倍難しいですか?
638 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:13:22.03 ID:onf/I33CM.net] C# → C++/MFC なら大して変わらないかも
639 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:13:26.70 ID:902JN4xl0.net] 256バイ
640 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:17:48.96 ID:k8PbCSORM.net] 言うほど難しくはない 同じものを作るために3倍程度の工数がかかるだけ
641 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:24:28.88 ID:YnD8XTKW0.net] 個人で使うものではない感じですか? openglを扱うためには裂けては通れないようですが
642 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:31:34.31 ID:k4TwxJVN0.net] >>621 opengl c# でググったらいろいろヒットするが DllImportがめんどくさいのはわかるが避けて通れない理由があるのか? C++でやらなきゃって思うのならC++のスレへどうぞ
643 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:35:32.77 ID:YnD8XTKW0.net] ラッパーのほうが情報すくなくて難しそうなので
644 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:39:46.24 ID:U3ljW3xz0.net] >>621 ,623 > 個人で使うものではない感じですか? 個人で使うのになんら障害はない > openglを扱うためには裂けては通れないようですが OpenTKとかあるし別に必須じゃない > ラッパーのほうが情報すくなくて難しそうなので じゃあC++で学習すれば?
645 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:41:56.63 ID:O6W3Dl2k0.net] このレベルでOpenCVに手を出して何ができるんだって感じもある チュートリアルを通してやるのがせいぜいか
646 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 12:15:17.08 ID:yiDYsHnZ0.net] >>625 OpenCVとOpenGLは別物だよ
647 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 12:25:47.28 ID:6TG0Gkwea.net] >>617 テンプレートの深みにはまらなければC++のほうが素朴で簡単
648 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 12:37:08.87 ID:PsW6cRYq0.net] この人3ヶ月前からこういう質問ばっかしてる 一体いつになったら手を動かすんだろう
649 名前:デフォルトの名無しさん [2019/02/09(土) 13:27:48.74 ID:Bzu1ndzH0.net] やっぱコルーチンだわ コルーチン質問がいくらあっても全くロックが起きとらん!スレッドを丸々潰してもいない!最強!!
650 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 14:30:31.24 ID:8aikkfMy0.net] >>620 そんなかからん。せいぜい 2割り増し程度。 でも、ブラックボックスが少なくて何やってるのか分かりやすいので、 はまりにくいかも。 C#のasync, awaitなんて初心者が理解できるものではない。
651 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 14:37:30.48 ID:O6W3Dl2k0.net] >>626 ごめん 俺の目が悪かった
652 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 15:30:22.75 ID:zy9w8qc80.net] C#はクラスライブラリも簡単に逆アセンブルできるからブラックボックスは少ないよな
653 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 16:47:05.41 ID:dvMZ7Shb0.net] >>609 ありがとうございます。
654 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 22:52:17.77 ID:5t5ZiBxh0.net] WPF, Windows Form の二種類があったり、Xamarineを使うかどうかが あったり、C#も複雑極まりないんだね。GDI がセンスがない関数群だったので 嫌われたこと、MFCが汚かったこと、Direct3Dが汚かったこと、COMが 汚かったこと、ActiveX がさらに訳分からなかったこと、の再来を感じる。 「非同期処理」もスレッドをいくつでも起こすタイプや、Poolみたいな ことをやるタイプ、以外にいくつもあって、さらに最後に async, await が Synax Suger になっているんだね。なんという複雑さ・・・。 また、スレッドを起こすのに 1MB もメモリが必要・・・・。 なんという無駄使い。
655 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 22:54:12.95 ID:5t5ZiBxh0.net] 結局、.Net Standard が破棄されて、.Net Core だけが残るといううわさを聞いた けど、やっぱり Xamarine が捨てられていくのかな。買収時点で最初から 予想されたことだけど。
656 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 22:59:09.93 ID:VPSQr41Ud.net] またC#嫌いのお前か
657 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 23:07:49.24 ID:HZrCyM150.net] >>634 > 「非同期処理」もスレッドをいくつでも起こすタイプや、Poolみたいな > ことをやるタイプ、以外にいくつもあって 具体的には? いくつもあるなら2,3挙げてみてよ
658 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:07:00.86 ID:P1Q5YmOJ0.net] >>637 ↓ ここを読んでくれ www.atmarkit.co.jp/fdotnet/chushin/masterasync_01/masterasync_01_02.html 数え方にもよるが、恐らく6〜8種類くらいあると思う。
659 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:09:30.45 ID:P1Q5YmOJ0.net] 多分、 1. Thread 2. ThreadPool 3. Event-based 4. Async Programming Model 5. Reactive Extensions 6. Task-based 7. async/await の 7種類だと思う。もっとあるかも知れないけど。
660 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:09:35.84 ID:XpZrG1uz0.net] APM、EAP、TAPなんかを言ってるのかね? 単に時代の流れじゃないの レガシーをタスクにする方法もあるし、.NETはネイティブスレッドではなかろう 開始元へ差し戻しが多いからawaitがあるだけで結局Task推奨になってると思うけど 議論が活発なのは結構だが、ぽこぽこ増えていく言語
661 名前:バージョンを見てると不安は抱く [] [ここ壊れてます]
662 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:32:53.23 ID:c9rRoNSM0.net] 時代の流れだねぇ。 今ならTaskとasync/awaitだけ覚えておけば事足りる。 Rxも場合によってはあれば便利だけど。
663 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:46:35.13 ID:P1Q5YmOJ0.net] それは言い訳で、見通しが悪かったって事なんだ。
664 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:53:56.42 ID:Mw20IJUM0.net] まあXamarin用済みなのは確か
665 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:58:27.31 ID:AzzfBWDja.net] async/awaitの効率は最近は大幅に改善されつつあるよ ただし.NET Coreに限る
666 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 01:03:53.77 ID:P1Q5YmOJ0.net] 効率以前に、訳分からん。 設計した人が実は能力が足りないんだって。
667 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 01:05:47.39 ID:P1Q5YmOJ0.net] アメリカ人はなめ過ぎてる。 独占的地位を利用して。 こんなくそ設計しやがって。
668 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 01:12:55.80 ID:ys0otiK+0.net] (ワッチョイ 8261-VUEs) この人、年中非同期処理が理解できないと繰り返し言ってんな いい加減理解しろよw
669 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 01:25:57.34 ID:bwecUq1Z0.net] 良かったな 訳わからんものが他の言語にも波及したぞ ※非同期プログラミングの次回作にご期待ください
670 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 01:38:14.50 ID:P1Q5YmOJ0.net] C# は VB と似ており、C++ とは似ても似つかない。
671 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 01:38:53.56 ID:c9rRoNSM0.net] >>642 17年の歴史があって、技術的トレンドを比較的積極的に取り込んできてる言語に それを言うのは言いがかりというかお門違いだろうw
672 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 02:34:19.06 ID:98Upnegk0.net] >>647 そいつにとっては、ぼくの理解できないもの=設計が悪い、だからな。 自分がバカだとは認められないんだろう。
673 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 02:52:23.04 ID:LkwxzeRxd.net] >>635 破棄される?ソースは?
674 名前:デフォルトの名無しさん [2019/02/10(日) 08:46:39.23 ID:uz05qYWIr.net] c#にはあってVBにはないものってないんだよな .net CoreでもVB採用されてるし
675 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 08:54:49.60 ID:fHBGeROaM.net] for文の挙動が違うだろ
676 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 09:08:02.67 ID:YTe/5aEc0.net] >>651 スパゲッティーなアルゴリズムを作ってしまっただけなのに気付いてない。 理解できないのではなく、馬鹿馬鹿しくて腹が立つだけ。 頭のいい人は、もっと良い方法がすぐにひらめくから。
677 名前:デフォルトの名無しさん [2019/02/10(日) 09:09:03.29 ID:o5rWkmWO0.net] >>653 unsafe
678 名前:デフォルトの名無しさん [2019/02/10(日) 09:21:34.97 ID:0K2cdDeF0.net] >>655 君は「高卒の天才」ってやつかい?
679 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 09:24:33.66 ID:YTe/5aEc0.net] C# のこの書き方は、35年前の Microsofot の N88-BASIC の def fn にそっくり [C#] int f(int n) => n >= 1 ? n * f(n - 1) : 1; [N88-BASIC] DEF FN名前 [ ( 引数名 { , 引数名 } ) ] =式 10 DEF FNZEIKOMI(P)=P*1.08 20 INPUT "zeinuki kakaku";KAKAKU 30 PRINT "zeikomi kakaku";FNZEIKOMI(KAKAKU)
680 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 09:51:24.70 ID:Ah0fiaOg0.net] ま、作ったアプリではなくソースコードを自慢するようになったらプログラマは引退したほうが良い
681 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 12:59:28.51 ID:7jl+t3as0.net] キブハブとかいう謎の団体に監視されてるからソースのエレガントさにも気が抜けない時代
682 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 13:18:41.19 ID:YTe/5aEc0.net] アメリカって、バイナリだと信用されないんだろうか。 アメリカは悪い人だらけなので武器を持たなきゃならないのが、それが安全な日本にまで波及していて、 セキュリティーソフトのせいでPCの能力は結構落ちるし、自作プログラムが誤検出されて 風評被害は出るしでいやな時代になったな。
683 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 13:20:59.07 ID:YTe/5aEc0.net] アメリカじゃ、大手企業から以外はバイナリが信用できないから、 無料ソフトのバイナリが入手できない。それで日本まで生産性が下がって来た。 いつのまにか、そんな必要のない日本まで巻き添えになってる。 それに日本人は気づいてない。
684 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 13:24:11.85 ID:HlV4ZEIt0.net] 頭やべぇのが居るぞ
685 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 13:24:46.11 ID:O8DkeQeoM.net] バイナラ
686 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:04:14.11 ID:AojW1eCFa.net] 何作るか思い浮かばん こんなときどうすれば
687 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:11:09.31 ID:ys0otiK+0.net] >>665 寝たらいい
688 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:13:22.67 ID:T7WkpnKgM.net] >>665 持ってる技術に対して歩んできた人生がクソ過ぎてバランスが悪い
689 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:17:09.65 ID:0+1G/wKUa.net] >>659 ソースの綺麗さはプロダクトの品質、価値に大きな影響を与える 君はなにもわかってない
690 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:22:24.87 ID:T7WkpnKgM.net] >>668 具体的な数字あるんですか?
691 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:31:40.45 ID:0+1G/wKUa.net] >>669 ありますがどこの企業も社外秘でしょう あなたの会社のコードを計測してみてください 話はそれからです
692 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:36:01.60 ID:T7WkpnKgM.net] >>670 そうですか? じゃあ、有名なオープンソースとか参考にしてやってみますね
693 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 16:14:54.28 ID:98Upnegk0.net] >>670 ソースの綺麗さを計測する定量的な評価方法を示してくれ。話はそれからだ。
694 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 16:17:08.69 ID:0+1G/wKUa.net] >>672 ググれ コードメトリクスを測定する手段は無数にある
695 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 16:45:07.74 ID:VHz3VazZ0.net] >>672 品質=(売上-コスト)÷行数
696 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 18:17:02.13 ID:6Yt6QBhU0.net] ツリーを表示する部分はtreeviewですが、treeviewの中身を表示する領域はどのツールを使う運でしょうか エクスプローラのメイン画面のことですね
697 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 18:42:16.76 ID:96GWWqq3M.net] >>675 そんなものはない 何を表示したいかなんてアプリ次第だろ 要件に応じて自分で作るんだよ
698 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 19:41:33.15 ID:ys0otiK+0.net] >>675 エクスプローラのメイン側はリストビューだよ
699 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 05:09:40.45 ID:Q8pHabNH0.net] 回答有り難うございます。 wpfテンプレートを使っているのですが、リストビューというツールは存在しないようですが、wpfにありましたか?
700 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 05:15:04.04 ID:Q8pHabNH0.net] ありました ごめんなさい
701 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 08:30:23.01 ID:sPHRyGkO0.net] textBoxコントロールでスクロールバーが表示されている状態で スクロールバー上で右クリックするとスクロールバーのコンテキストメニューが出ますが richTextBoxコントロールだと出ません。textBoxでは出る標準の右クリックメニューも同様に出ません。 どうすればrichTextBoxで標準コンテキストメニューとスクロールバーのコンテキストメニューを出せるでしょうか
702 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 11:37:16.74 ID:XJjA7d5g0.net] サーバサイドで使えるword操作用ライブラリってありますか? ExcelにはPOIとかあるのですがwordは探しきれず
703 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 11:45:15.95 ID:uhV1eG5ea.net] Google Docsで作ってWordにエクスポートしたら
704 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 12:49:33.20 ID:MkFOBvt90.net] >>681 Apache POIはExcel専用じゃないけど? https://qiita.com/mine820/items/e1022ac51466bb34186d
705 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 20:34:36.03 ID:Q8pHabNH0.net] listviewの使い方について、超初心者向けに解説してるサイトを教えてください vs2017を使用しています いろんなサイトやyoutubeで調べてたんですが、わからないです
706 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 20:50:22.35 ID:Y0EVtjJ+0.net] >>684 ナンシークラッツ本を買うべし
707 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 21:09:13.65 ID:+GND3QEg0.net] >>684 知りたいのこの辺りじゃない? ListViewコントロールへ項目を追加するには? www.atmarkit.co.jp/ait/articles/0502/04/news121.html ListViewのアイテムがポイントで選択、シングルクリックでアクティブにできるようにする https://dobon.net/vb/dotnet/control/lvpointselection.html Drag drop ListView Item from one listView to another https://stackoverflow.com/questions/38162479/drag-drop-listview-item-from-one-listview-to-another
708 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 22:18:17.86 ID:tPbyrG7A0.net] Q8pHabNH0がやってるのは多分WPFだよ〜
709 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 22:29:40.86 ID:sHYekHyG0.net] いつも思う そんなクソみたいな動作しかしない コントロールなんてやめて いい感じに動作するもん自分で作ればいいのに
710 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 22:33:23.81 ID:TJZlmbA+0.net] WPFは最低でも標準でWinFormと同等のコントロール用意しておけよと
711 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 01:11:37.33 ID:VJfrEW+T0.net] >>688 いつも思う 初心者用スレで初心者向けではないアドバイスなんてやめて 適切なスレで持論を展開すればいいのに
712 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 01:22:15.30 ID:B1oV2gIZ0.net] >>690 それがそーでもねーと思うんだよね 使いにくいコントロールを客に納品できるレベルに持っていくって 割りと無理ゲーじゃね?
713 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 03:08:49.84 ID:0nHRi8Dw0.net] >>690 いつも思う バカをスルーできる耐性がいつになったら身に付くのかと
714 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 03:12:17.30 ID:VJfrEW+T0.net] >>691 標準コントロールで実現困難なことをそれで無理に実現しようとしてるならそのアドバイスでいいだろうが、 今回の質問者は(今のところの情報では)標識コントロールで不足している訳ではなく、ありものを使うことすらやっとのレベルなのだから、自分で作れというのは無茶な要求だろう。
715 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 03:12:52.20 ID:VJfrEW+T0.net] >>691 ではなく>>692 でした
716 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 05:53:58.40 ID:DAeR3Vqi0.net] そうです、wpfです これってwinformよりも良くないんでしょうか? 見た目が良くて新しいものというイメージなんですが
717 名前:デフォルトの名無しさん [2019/02/12(火) 05:58:34.55 ID:SvKCMiwAa.net] めくそはなくそ
718 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 06:07:05.14 ID:DAeR3Vqi0.net] var.blog.jp/archives/69202816.html どのテンプレートを選べばいいんでしょうか wpf使われているソフトはほぼないと書いてあります
719 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 06:33:52.77 ID:0tNvI9Ip0.net] WPFは専用スレがあるよ WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22 https://mevius.5ch.net/test/read.cgi/tech/1513175747/
720 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 06:43:57.01 ID:0tNvI9Ip0.net] さくっと作りたいならWinForm 見た目にこだわって、今後も続けていきたいならWPF まぁ今からやるならWPFだと思うよ。 DPIスケーリングとか今どきの地味でめんどくさい部分の対応はやってくれている。 WinFormはさくっと作れるけど、自分でUIの部品画像つくれないなら見た目は古臭くなるし、 UIとビジネスロジックの分離も大変。
721 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 06:50:44.92 ID:n9nKxlWwM.net] 一年で600レスしかつかない専用スレ
722 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 06:55:56.97 ID:wGJ5rzVe0.net] C#がニッチだからな プレイヤーはjavaと一桁違うんじゃね
723 名前:デフォルトの名無しさん [2019/02/12(火) 07:07:37.35 ID:IZHpfaFj0.net] 数倍は違っても桁は違わないんじゃないのかな
724 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 07:43:09.55 ID:HQcd2HqP0.net] 5chのWPFスレとSwingスレを比較すればええのか? ええのんか?
725 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 10:49:53.10 ID:dWGWBM0h0.net] C#で書いていると、急にLinuxみたいなのが流行りだした場合、手間が増える だろう。この業界は、今後どうなるか分からん。
726 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 11:03:40.30 ID:GttB/eDsd.net] >>704 そんなこと言ってたらどんな言語でもリスクあるだろwww
727 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 11:09:45.74 ID:LAva8DO10.net] C++だと大丈夫だろうよ。
728 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 11:11:43.96 ID:DAeR3Vqi0.net] >>699 速度も遅くて使い物にならないと効いたのですが、そんなこともないですか?
729 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 11:41:24.36 ID:VerJGrBEM.net] >>707 それ以前に、WPFは未完成のまま既にメンテナンスモード入りしたから新規での利用はお勧めできない MS自身がVSの開発に使うためだけにメンテされてるフレームワークだよ
730 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 11:44:21.97 ID:DAeR3Vqi0.net] >>708 そうなんですね、c#の場合、選択肢はwindowsフォームアプリケーションしかない感じですか? これはwin32といわれているものでしょうか?
731 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 12:22:47.98 ID:9UpkeXwQa.net] WPFの問題点は (1) 学習コストが高い (2) 即時モードの描画が使えない だと思うので、これらを気にしなきゃ、相対的に新しいWPFの方がいいんだろうけどね。 レイアウトやバインディングの柔軟性が魅力的なのは否定できない。 これは意見が分かれるけど、 (3) イベントハンドラだらけになってコードが読みづらいWindows Formの問題点の 解消を目指したはずなのに、結局かえってWPFのコードの方が分かりづらい これもWPFが好きになれない大きな理由
732 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 12:53:00.05 ID:IcQdq56o0.net] WPF敷居高いのは初めてづくしだからだろ。 データバインディングからレイアウトをxmlで書いて(デザイナーも使えるが)で、更にMVVMのお勉強。 だから、しんどい。
733 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 12:59:12.71 ID:IcQdq56o0.net] wpfでもmvvmとバインディング使わなくてもいけるけど、listviewの仮想化とか使えなくなったりするが、mvvmとかも強制見たいな風潮がwpfの敷居を上げてる
734 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 13:02:29.67 ID:DAeR3Vqi0.net] winformでやってみます
735 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 13:02:49.08 ID:IcQdq56o0.net] androidは最初標準でデータバインディングとかなく途中で登場してMVVMっぽく作れるようになったが、 こういう風に段階を踏んで1個ずつ学び安い環境があったから良かった。 その違いだな。
736 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 13:47:31.84 ID:BXjjeidx0.net] >>709 UWPってのもある
737 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 13:58:06.30 ID:FIdhys7p0.net] >>689 UWP「せやな」
738 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 15:41:39.27 ID:rOtwyWX5d.net] Xamarin.Forms+UWPならついでにiOSやAndroidにまあまあ対応できたりする
739 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 17:33:01.90 ID:DAeR3Vqi0.net] >>715 formでやってみます もうc++のほうがいいですか?
740 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 18:14:08.19 ID:3x+OYT1Q0.net] 好きにしろ
741 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 19:10:05.32 ID:B1oV2gIZ0.net] >>704 c#、linuxで動くらしいぞ
742 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 19:11:51.93 ID:B1oV2gIZ0.net] winformもlinuxで動くみたいなことも誰か言ってなかったっけ?
743 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 19:20:48.95 ID:a/nbvL/tM.net] WPFでしんどい
744 名前:のはMVVMという宗教。 自分で新しい宗派を名のる位のずうずうしさか他人の教義にひれ伏すか [] [ここ壊れてます]
745 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 19:21:39.94 ID:KFZGfstbM.net] ザマリンで鬱陶しいのは信者
746 名前: mailto:sage [2019/02/12(火) 22:02:44.11 ID:afakhEje0.net] >>715-716 UWP のいい教科書/チュートリアルはありませんか?
747 名前:デフォルトの名無しさん [2019/02/12(火) 23:28:53.73 ID:TGYKDn8Ur.net] UWPアプリなんて誰も使ってないのに
748 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 23:39:52.22 ID:HQcd2HqP0.net] >>724 o https://github.com/Microsoft/Windows-universal-samples o Windows Template Studioの吐いたひな形を眺める o ストアにあるXAML Control Gallery
749 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 23:48:41.39 ID:mBIHBqGr0.net] >>725 嘘をおっしゃい
750 名前:デフォルトの名無しさん [2019/02/13(水) 00:04:01.52 ID:sgtLrhrBr.net] >>727 いやマジでしょ
751 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 00:08:16.61 ID:C9BSnIId0.net] >>725 俺は使ってるが
752 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 00:26:20.99 ID:VGvE+KfY0.net] >>728 Windows10使ってる人は全員使ってるやろ
753 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 04:20:16.35 ID:9xiZOSOZ0.net] wpf使うとエディタ自体重くならないですかね
754 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 08:22:31.97 ID:9xiZOSOZ0.net] win form=win 32ということなんでしょうか また、これは見た目はきれいにできないんですか?
755 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 08:35:14.74 ID:9xiZOSOZ0.net] winformってデザイナー画面のズームできないんですか な
756 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 08:37:37.78 ID:hwjiROfk0.net] >>732 WinFormでファイラー作ると、XPのエクスプローラーもどき程度しか作れないのが問題だな 見た目のカスタマイズが困難だからね ただWin32のコンポーネントを直に使うように作れば速度は本物と遜色ない物ができる リストビューとか使わずにエクスプローラーの部品を引っ張ってくるなら
757 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 08:45:15.81 ID:9xiZOSOZ0.net] >>734 見た目まで自由に作る場合はC++のほうがいいのでしょうか? 面倒そうではありますが c++でもインターフェースは何らかのライブラリを使うと聞きますが
758 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 08:57:22.13 ID:hwjiROfk0.net] >>735 C++でもWinFormsでも頑張れば見た目を変更できないこともない ただ、素人が一人で片手間でやる作業量じゃすまないんだわな 簡単に見た目を変えたいのならWPFがお薦め
759 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 09:06:36.72 ID:9xiZOSOZ0.net] ↑わかりました
760 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 11:27:04.45 ID:9xiZOSOZ0.net] >>736 それなりに使いこなせるように慣れば見た目を変えるのは容易ですか?
761 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 11:44:42.10 ID:l4vsLjs90.net] スレチだけど、WPFはMahApps.Metroがあるからな。 メトロデザイン風なら楽できる
762 名前:デフォルトの名無しさん [2019/02/13(水) 11:49:24.81 ID:sgtLrhrBr.net] >>730 画像ビューワとか? ExcelとかWinFormで作られているじゃん
763 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:08:48.71 ID:ARXdU5axd.net] >>740 設定アプリ
764 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:17:19.46 ID:C9BSnIId0.net] >>740 電卓
765 名前:デフォルトの名無しさん [2019/02/13(水) 12:19:31.62 ID:sgtLrhrBr.net] >>741 >>742 そういうのはさ、Windows10に標準でインストールされてるやつだけど 自分で作ったUWPアプリなんか誰にも使われることはないよね そもそもアプリストアなんか見ることは一切ないし
766 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:24:36.18 ID:tFsdkf9td.net] >>743 ストア見てるよ Ubuntuとかダウンロードしたもん
767 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:26:05.04 ID:e0d6KWciM.net] ダウンロードをストアから行うことはあるが、ストアでアプリを探すことは一度もやったことないな
768 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:33:48.97 ID:EW0X8toeF.net] 当初のUWPアプリなんて誰も使ってないという主張からどんどん特定条件が増えていくなw
769 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:34:12.66 ID:2XDMMrj30.net] >>740 スタート画面
770 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:41:07.09 ID:ARXdU5axd.net] >>743 >>725
771 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 14:03:56.48 ID:jF7nIOB90.net] >>739 っMaterial Design In XAML Toolkit マテリアルデザイン風もあるよ MahApps.Metroとの連携も用意されてる
772 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 18:31:28.53 ID:OfMy+HAU0.net] 派遣先の組込上がりのPMがWinFormでタブレット対応アプリ作れと言ってくる せめてWPFと言ったんだけどオナニーエンジニアうぜーと言われた
773 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 19:00:57.32 ID:ixNjFQqZ0.net] 説得できないんなら諦めろ
774 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 19:09:55.36 ID:e0d6KWciM.net] >>750 勘違いするな お前の仕事はモノを完成させることではなく労働力の提供なんだから黙って従えばよい お前だって成果物責任を負う立場になれば多少なりとも保守的になるさ
775 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 20:02:03.05 ID:NZaXG+jY0.net] >>750 俺にもお前がオナニーエンジニアにしか見えないんだが。
776 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 20:19:25.70 ID:T+klQ57Ga.net] >>750 変な言い掛かりつけてる奴は恐らくWPFだけが 今時のタッチ操作をサポートしていることも知らないだけだから相手にすることない
777 名前:デフォルトの名無しさん [2019/02/13(水) 21:17:02.96 ID:sgtLrhrBr.net] 前も言ったけどさ、ガワはブラウザで作ればいいじゃん WinFormもWPFもUWPもいらん Windowsアプリだがブラウザで操作する ASP.Net Coreでもできそうだが
778 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 22:08:44.72 ID:kXEWJhMu0.net] web cad な OSSのlibってあるのけ?
779 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 22:33:58.03 ID:luVawDgcd.net] >>755 オナニー書き込みやめろ
780 名前:デフォルトの名無しさん [2019/02/14(木) 05:20:39.39 ID:MlsuSDTjr.net] エレクトロンみたいな感じでいいんだよ 裏側はc#、表側はhtml, css, js .Net CoreならMacでもLinuxでも動くし これが一番いい
781 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 07:46:22.81 ID:Dp0xuhxW0.net] ( ´_ゝ`)フーン 好きにすれば
782 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 08:16:35.34 ID:GFNptSHh0.net] >>758 エレクチオンみたいな感じ?
783 名前:デフォルトの名無しさん [2019/02/14(木) 11:28:10.10 ID:MlsuSDTjr.net] バカどもには理解できないらしい
784 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 11:37:55.91 ID:SFw402Pv0.net] ファイラを作成しているのですが、ツリービューでPC内のフォルダを検出する方法について、 どのあたりを調べたらいいか教えてください
785 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 12:34:57.27 ID:tlcLfILV0.net] >>762 SYSTEM.IO
786 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 15:12:27.60 ID:Q59BY7+Wp.net] >>760 こういうレスすごい好き どうしてエレクチオンしないんだろうな
787 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 16:05:20.61 ID:SFw402Pv0.net] >>763 ありがとぅ
788 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 20:27:11.25 ID:SFw402Pv0.net] ソフト上でファイルにアクセスして、フォルダの中身などを表示したいのですが、まず何のフォームを使えばいいんでしょうか?
789 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 20:28:26.38 ID:e1Z71hhf0.net] >>766 picturebox
790 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 20:37:17.42 ID:SFw402Pv0.net] ↑ありがとうございます 表示を切り替えたい場合などは、listviewなど別のものを使う感じですね
791 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 20:54:47.71 ID:KyyLfHej0.net] 質問があやふやで回答が無茶苦茶なの続いているけど遊んでいるのか?
792 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 21:19:13.61 ID:m8w/NK2F0.net] あ?ころころすっぞ
793 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 21:27:08.41 ID:4V+YrcT70.net] ワッチョイ変わったけど同一人物っぽいね ソフト完成するまでずっと質問してそう
794 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 23:37:18.13 ID:Dp0xuhxW0.net] >>771 そういうスレでしょ?
795 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 02:03:45.64 ID:olENi3qW0.net] ある要素の中で2番目に高い数値を選ぶエレガントなlinqを教えて下さい
796 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 03:00:48.77 ID:ehpwnyaM0.net] sortedData[1]
797 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 04:23:42.06 ID:lsxqATYQ0.net] Distinct().OrderBy().Skip(1) とか? 全部同じ値の可能性があるなら知らん。
798 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 04:28:01.15 ID:lsxqATYQ0.net] エレガントとは言えない上に間違ってたorz
799 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 05:03:20.06 ID:a5xYZsMx0.net] Distinct().OrderByDescending().ElementAt(1) でしょ
800 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 07:02:27.81 ID:olENi3qW0.net] >>774 その2番じぁねーw
801 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 07:03:18.02 ID:olENi3qW0.net] >>777 ありがとうございます。
802 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 09:07:12.92 ID:joZk3VJy0.net] >>777 だいたい良いと思うが、データが2個以上無いと落ちるよね
803 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 10:33:16.88 ID:QcXsKv+O0.net] 2番じゃ駄目なんですか
804 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 11:41:11.71 ID:a5xYZsMx0.net] >>780 そんなもん例外キャッチすればいいでしょ
805 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 12:42:08.68 ID:VCl1o3iCa.net] >>782 ArgumentException系をcatchするのは悪手だと思う .Distinct().OrderByDescending(x => x).Cast<int?>().ElementAtOrDefault(1) とするのはどうだろう
806 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 12:53:25.53 ID:Qph8FA2WM.net] >>780 そういう状態を想定するならそもそも2番目が無い時の要件書いてないやつが悪い
807 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 12:56:57.66 ID:dZvrqvyod.net] >>780 ちょっとしたQAにあらゆる異常系処理にまで対応したコードまで求めるのは違うと思う
808 名前:デフォルトの名無しさん [2019/02/15(金) 13:01:49.14 ID:tYLxs8Yjr.net] みんなLinkつこてるの?
809 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 13:02:20.42 ID:juddEHEPp.net] 二番目に高い要素を取得っちゅーてんのに二番目が無い場合に 例外じゃなく勝手に既定値を返す方がよほど悪手じゃね?
810 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 13:04:27.67 ID:Ayyf6Kdi0.net] c#で作られているソフトって何があるのですか
811 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 13:18:02.81 ID:VCl1o3iCa.net] >>787 強調し忘れてたから念の為書いておくと Null許容型にしているから「二番目に高い要素が0」の場合と「二番目が無い場合」は区別できる それを踏まえた上で指摘してくれているなら……Null許容型使ってたらnullチェックしてくれると信じてるんだがどうだろう
812 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 13:44:54.78 ID:juddEHEPp.net] >>789 正直そのへんは踏まえずケチつけたけど 結局エラー分岐が戻り値か例外かって話になるなら 質問者そっちのけでどちらがスマートか殴りっこしても不毛だなあ
813 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 17:22:07.61 ID:Ayyf6Kdi0.net] vs2017でただの波括弧で特定部分を囲うと、インデントされますが、これはどのような意味を持ちますか?
814 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 17:37:00.14 ID:l6xRE0dp0.net] 超かっこいい
815 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 17:54:08.50 ID:VXffwVEC0.net] >>791 ブロックという意味です
816 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 18:14:31.02 ID:Ayyf6Kdi0.net] >>793 if{} みたいな条件がない {} だけの状態でもエラーとはなりませんが、何の意味があるのですか? 見た目を整えるだけですか?
817 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 18:34:36.59 ID:QcXsKv+O0.net] >>788 nikon の現像ソフト
818 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 18:35:17.81 ID:T7xyRbUnM.net] >>794 一時変数を何度も使うときに便利
819 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 18:54:51.21 ID:Qph8FA2WM.net] >>794 C# ブロックスコープ でぐぐれ
820 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 18:57:50.87 ID:Ayyf6Kdi0.net] ↑ありがとう
821 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 19:10:43.29 ID:A45VNw280.net] >>794 スコープを制限するからその中で宣言したローカル変数は外
822 名前:ナ使えない たぶん、それ以外に違いはない [] [ここ壊れてます]
823 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 20:08:29.07 ID:Ayyf6Kdi0.net] c#のwinformのmenustripの背景というのは変更できないのでしょうか この辺はそれぞれのPCに依存してるのかなーと思います
824 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 20:12:53.72 ID:gfFuWLI70.net] >>800 BackgroundImageのプロパティに設定
825 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 21:35:27.37 ID:jCkiam8S0.net] >>792 俺の事か?
826 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 05:07:55.77 ID:d5pUUzr/0.net] >>801 ありがつぅ
827 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 05:57:51.57 ID:d5pUUzr/0.net] c#でスクリーンショット撮影するソフトは不可能ですか?
828 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 07:29:21.89 ID:+4z8MAVsd.net] いいえ
829 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 11:13:44.16 ID:I7KLi1I90.net] >>804 検索すればすぐわかる
830 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 11:55:58.09 ID:mmBt6tnL0.net] >>804 MessageBox.Show("PrintScreenボタンを押せろください");
831 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 16:07:58.46 ID:n2t8JUOl0.net] Cでは数値型変数を複数の場所から参照するためには、変数のポインタ得てそれを使いますが C#ではポインタ無いんで、数値フィールド持つクラスを作って そのインスタンスから参照するしか無いんですか?
832 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:01:04.63 ID:dfsqwbBrd.net] 別にポインタはあるぞ。 行儀わるいから、使うべきかよくかんがえたほうがいいだけ。
833 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:01:47.04 ID:mSWYdTC80.net] >>808 スカラー型なら直接読み書きすれば良いのでは無いかと思いますが…配列なら参照型です 変数参照を扱うなら強化されたrefやoutを使えます、またunsafeだとポインタも使えます TypedReferenceというのも有りますがコレを扱うための__makerefなどは些かアレなので… .NETには値参照用のSystem.Runtime.CompilerServices.StrongBox<T>などジェネリック既存型も有ります
834 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:09:27.87 ID:eqms90yHd.net] 定数参照的な話?
835 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:11:36.23 ID:PR5Tb5Rba.net] >>808 Cでもスコープ内の変数は普通に読み書き可能。 スコープ外の変数でもその値を引数として関数に渡すことができる ポインタが必用になるのは変数を書き換える汎用的な関数を書く場合だけ C#の場合、同じことはrefやout付きの引数で実現できる
836 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:20:05.45 ID:d5pUUzr/0.net] nn-hokuson.hatenablog.com/entry/2017/08/17/200918#%E3%83%9C%E3%83%BC%E3%83%AB%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B 個々のサンプル通りにゲームを作成中なのですが、paintイベントハンドラってなんでしょうか paintというイベントは何によって発生するのかよくわかりません
837 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:27:37.84 ID:NXeshUsvp.net] >>813 > paintイベントハンドラってなんでしょうか 描画をするためのハンドラです > paintというイベントは何によって発生するのかよくわかりません 描画をしたい時に発生します
838 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:31:08.38 ID:d5pUUzr/0.net] ↑描画とはどういう操作のことでしょうか? フォームがロードされた時点で実行されます
839 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:37:19.60 ID:NXeshUsvp.net] >>815 ゲームの場合は勝手に描画が実行され続けます
840 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 18:16:49.35 ID:d5pUUzr/0.net] ↑自動的にですか ありがとうございます
841 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 12:34:21.09 ID:Cn2cXppc0.net] using System; public class Hello{ public static void Main(){ // Your code here! private void myfunction(){ Console.WriteLine("jfo
842 名前:asd"); } myfunction(); } } paizaでC#を入力するとエラーが出るのですが、どこがおかしいですか? private voidの部分が予期されていないというエラーが出ますね https://paiza.io/ja [] [ここ壊れてます]
843 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 12:38:27.42 ID:51VRzV3m0.net] staticな関数から動的な関数を呼び出してるんじゃない?
844 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 12:59:41.60 ID:j6Gi9YSR0.net] ローカル関数をサポートしてないだけでしょ
845 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 13:00:14.76 ID:I+dbukVsp.net] >>818 private voidの部分がおかしいですね
846 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 14:31:14.74 ID:cAaLtQSp0.net] >>818 まずこういう質問はpaizaの問題でC#のスレでやられても混乱するからVisualStudioでの話以外はやめてくれ コード書けるサイトが間違っていないって保証が無い。実際動くコード転載してもエラーって何度も経験しているからな VisualStudioで書くのならターゲットフレームワークを.Net4.7以上にしてprivate void myfunction()からprivate外してvoid myfunction()で動く
847 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 16:38:09.76 ID:Agaj4T0x0.net] たすけて!これ何が違うの? どっちも普通に使えるよね? ちな初心者 @List<T> list = new List<T>(); AList<T> list;
848 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 16:55:04.91 ID:2ynU5zYy0.net] 後者は中身が無いからそのままじゃ使えない
849 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:04:55.99 ID:KqlDIF5Pa.net] >>823 1はlistという変数の定義と同時にList型のインスタンスで初期化している、普通に使える 2はlistという変数を定義しただけの状態 ローカル変数の場合は後で初期化する必要がある、未初期化のまま使おうとするとコンパイルエラー クラスや構造体のフィールドの場合は暗黙でnullで初期化される、「普通に使う」ためには後でList型インスタンスを代入してやる必要がある
850 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:07:18.00 ID:naWxhgEk0.net] >>823 > @List<T> list = new List<T>(); は List<T> list; list = new List<T>(); と同じ > AList<T> list; はlistの実体が設定されてないからそのままlist.Add(…)とかやると例外が発生する
851 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:07:30.92 ID:B/nvmulQd.net] >>822 .NETのバージョンなにか関係あるか?
852 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:12:13.37 ID:tKx1WgvG0.net] >>823 C++と違ってクラスは強制的に参照型で変数宣言がポインタと同等なのよ 宣言だけではコンストラクタはもちろんインスタンスも割り当てられない
853 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:26:45.23 ID:Cn2cXppc0.net] >>822 paiza だと挙動が少し違うようです このサイトはやめときます
854 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:35:39.94 ID:Cn2cXppc0.net] ちょっとコードを確認したいというときに、使えるツールありますか? わざわざプロジェクト作るほどではないときですね python のidleのようなものです
855 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:38:44.31 ID:Ox4HquXb0.net] >>830 C#インタラクティブ
856 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:41:30.40 ID:0sFVNd3o0.net] cscは標準で入っているでしょ
857 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:54:52.02 ID:B/nvmulQd.net] >>830 LINQPad
858 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 18:01:37.03 ID:/k3HmPSI0.net] csiだな
859 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 18:03:11.00 ID:owh3i+7dM.net] スクリプトみたいに対話型でできる?
860 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 18:18:26.04 ID:Cn2cXppc0.net] ↑ありがとうございました
861 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 18:21:23.19 ID:naWxhgEk0.net] >>830 notepad.exe + csc.exe
862 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 18:28:37.10 ID:Agaj4T0x0.net] >>825 >>826 >>828 NEWはしなきゃいけないのね 有難う御座います
863 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 18:29:26.69 ID:Cn2cXppc0.net] >>833 これいいっすね 初心者なのでしばらく練習します
864 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 20:45:16.60 ID:Cn2cXppc0.net] vs codeもちょっとしたコードの確認に使うものなんでしょうか?
865 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 21:29:49.15 ID:I+dbukVsp.net] >>840 使うひともいれば使わないひともいますね
866 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 01:50:55.38 ID:pxm+KTrW0.net] 入力項目が沢山ある画面で、変更を保存せず画面を閉じようとしたときは警告を出したいです。 何も変更せず画面を閉じる場合は警告を出さずに閉じたいです。 この場合の変更チェックは入力項目に紐づく変数1個1個をチェックする以外に、スマートな方法は無いでしょうか? 入力項目に紐づく変数はデータクラスとして用意しているので、画面開く直前にハッシュのようなものを計算し退避しておき、 画面を閉じる直前にハッシュを再計算し比較すれば行けると思うのですが、オブジェクトのハッシュを求めるのは GetHashCodeでいいのでしょうか?
867 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 01:58:21.05 ID:0Vx/m/dz0.net] ないね 上に1dot 下に1dot って動かされて終了したときは 出したくないんでしょ? 何か妥協点がない限り全部比較するしかないよ
868 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 02:13:28.99 ID:Y8U6L+e90.net] >>842 データクラスとして纏めてあるなら、GetProperties()やGetFilelds()で抽出した各変数を ループで比較すればそこそこスマートなんじゃない。
869 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 02:29:46.98 ID:GC8vaMYY0.net] 俺ならデータクラスにINotifyPropertyChangedを実装するかな
870 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 02:53:09.62 ID:+SQV8UeVa.net] >>842 直接の回答でなくてごめん。 そういうMSにありがちなUIはたぶん (1) 変更をキャンセル可能であること (2) OKボタンをクリックした時点で初めて変更が反映されること が要件になってるからそういう仕様になるんだと思うけど、こんな要件が必用ないなら 画面の入力項目の変更を変更があった時点でその都度対応するオブジェクトの プロパティーに反映させてしまえば、「変更を保存せず画面を閉じようとしたときは警告を出」す 必用自体がなくなる まあ一種の手抜きだけど、場合によっては許容される手抜きだと思う
871 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 03:23:01.21 ID:pxm+KTrW0.net] >>845 いいアイデアですね。 プロパティ1つ1つに if(beforeValue!=afterValue) OnPropertyChanged(); みたいな実装が必要なのが若干だるい気がしますが。 >>846 つまり変更した瞬間に即確定って意味でしょうか? 後出し情報で申し訳ないですが、最終保存先がDBで アプリにとって比較的重要な情報の更新をしようとしています。 なるべく意図しない変更を防ぎたいです。
872 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 08:27:54.30 ID:GC8vaMYY0.net] >>847 データクラスのベースクラスをPrism.MvvmのBindableBaseにするとまあまあタイプ量減らせたりするよ
873 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 11:29:03.32 ID:huM3ZKfN0.net] https://i.imgur.com/2rpwFqg.jpg vs codeを使っているのですが、どこから実行できるんでしょうか? 言語はc#で、マイクロソフトのc#のアドオンを入れました ctr shift pでrunというコマンド?が出てくるので、それをクリックしたのですが、outputには何も出ません また、ヴィジュアルスタジオの場合はイベントハンドラーがありますが、常に実行させるようなイベントというのはただのC#にあるんでしょうか?
874 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 11:34:39.00 ID:FChOt/Xad.net] >>849 チュートリアルくらいやれよ
875 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 12:06:26.29 ID:RBxZ7FEaM.net] >>849 ターミナルでdotnet runと打ち込んでEnterや
876 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 12:13:35.54 ID:vM1YVHVQd.net] >>842 そう言うの割とダルいから、データをクラスにまとめといて、開いた時点でシリアライズして文字列で持っちゃう。 保存時にシリアライズして文字列一致しなかったら、変更されてる
877 名前:ニ言うことにする。 一個ずつ比較したら改修で漏れるよ。 [] [ここ壊れてます]
878 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 12:41:30.31 ID:huM3ZKfN0.net] >>851 ありがとうございます そうやって実行するんですね visual studioよりむずいです ただ、Program.csという自動生成されたファイルが実行されます 同じフォルダに自分で作ったsample.csがあるんですが、こっちを実行させる設定はどこからするんでしょうか? パスを指定してからdotnet runしてもエラーになるます
879 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 12:42:32.67 ID:OjJXAwBNd.net] >>853 いやだからチュートリアルくらいやれって
880 名前:デフォルトの名無しさん [2019/02/18(月) 12:59:06.77 ID:pxm+KTrW0.net] >>852 それもいい考えですね。 メンバ変数に[DataMember]とアノテーションを つければいいだけですね
881 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 13:05:27.38 ID:99WFuefSa.net] まあ一度変更があった時点で実際には等価でも別物と見なす実装が一番簡単だねたぶん。 実際そういうソフト結構あるよね。 そういう手抜きが気に入らないなら素直にEquals実装するのが結局シンプルじゃないのかな。 フィールドが全部値型の構造体ならデフォルト実装で済むと思ったし ...と思って調べてみたけど、なんかドキュメントによって書いてるこが微妙に違うなw https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/statements-expressions-operators/how-to-define-value-equality-for-a-type ↑には「リフレクションを使用して、型のフィールドとプロパティをすべて調べます。」と書いてあるが https://docs.microsoft.com/en-us/dotnet/api/system.valuetype.equals?view=netframework-4.7.2 ↑には単純にビットイメージの比較と書いてある となってる。どっちが正しいんだ?w
882 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 18:49:02.00 ID:L0NbuPbAa.net] >>856 > https://docs.microsoft.com/en-us/dotnet/api/system.valuetype.equals?view=netframework-4.7.2 のRemarksには、thisとobjの全フィールドが参照型でなければbyte単位の比較、そうでなければリフレクションを使うとある https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2231-overload-operator-equals-on-overriding-valuetype-equals 他に知っているもので↑では、リフレクションを使うとだけある https://referencesource.microsoft.com/#mscorlib/system/valuetype.cs 少なくとも.NET Framework 4.7.2では、ビット比較だけしていそうなFastEqualsCheckを呼ぶパスが存在する そのパスを通るか判定しているCanCompareBits関数はexternなので詳細不明
883 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 19:16:27.32 ID:L0NbuPbAa.net] ごめん「他に知っているもの」に貼るURL間違えた https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1815-override-equals-and-operator-equals-on-value-types
884 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 11:05:06.64 ID:t+ZZI+Uh0.net] vs codeのproblemの欄なんですが、間違ったコードを入力しても自動で更新されないようです デバッグを実行しないとだめなようですが、リアルタイムにエラーを表示してくれる設定はできますか? 以前はできたんですが
885 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 12:03:57.65 ID:IsM0ebyqd.net] 日本語でよろしく
886 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 12:33:41.44 ID:efthhon4M.net] そいつは難しいproblemだな
887 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 17:38:20.55 ID:JJR46+B00.net] >>859 vs codeのことは専用スレで聞け、スレ違い Visual Studio Code / VSCode Part5 https://mevius.5ch.net/test/read.cgi/tech/1541649564/
888 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 19:41:44.24 ID:t+ZZI+Uh0.net] なぜmain関数の中に処理を書かないといけないのですか? そういうルールだからってことですか? pythonだとどこに書いてもいいと思うんですが
889 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 19:46:47.41 ID:+t+aP4snM.net] そういう設計思想だから
890 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 19:54:09.61 ID:zirjw7Cj0.net] main以外をエントリポイントにできるけどな win32apiからの慣習
891 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 21:39:52.76 ID:eXSGnhOj0.net] >>865 C#で出来るの? どうやって?
892 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 22:33:06.53 ID:MriKnXlj0.net] >>866 なくはない https://ufcpp.net/study/csharp/cheatsheet/apscripting/
893 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 01:09:59.10 ID:WG18KXuW0.net] 助けて!! Parallel.Forを使ってそれぞれで別の演算アプリを起動して 4スレッドで演算処理してるんだけど アプリ強制終了してもスレッド(演算アプリ)はずっと処理し続けてるの!お願い止まって!! 親スレッド(UIスレッド)が死んだら子スレッドも死ぬみたいなお作法ありますか? 演算アプリはSystem.Diagnostics.Process使って起動してます
894 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 01:46:34.63 ID:3QCW37aG0.net] Process.Kill()でしょ
895 名前:デフォルトの名無しさん [2019/02/20(水) 02:03:55.40 ID:/GvzZ744d.net] >>868 それはC#的にスレッドとは言わない。 別プロセスだ
896 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 07:56:23.82 ID:Jfh2EJBjr.net] 電源off
897 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 09:16:30.41 ID:JdxivbIi0.net] >>868 CancellationTokenSourceを使ってみれば?
898 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 16:01:28.63 ID:qtZmd9yJa.net] form1にsplit container をverticalで貼り付けて左右に2分割してその中にボタンとかコンポーネントいろいろ置いてて、 あとから上にmenu stlipを追加したくなってツールボックスからmenu stripコンポーネントをドラッグ&ドロップすると splitcontanerのpanel1かpanel2のどっちかにしか貼り付けられないのだけどform1にmenuStripを表示するようにするにはどう操作すればいいのでしょうか
899 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 16:10:46.41 ID:YXUL7WNb0.net] 一旦張り付けてから ドキュメントアウトライン表示させてForm直下に移動させる
900 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 16:31:00.95 ID:ThCTwK+Ha.net] >>873 前も書いたけど、 [ctrl] + [alt] + t
901 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 16:42:16.67 ID:qtZmd9yJa.net] >>874 ありがとうございます
902 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 16:43:52.95 ID:qtZmd9yJa.net] >>875 ありがとうございます 配置していたテキストボックスがめり込んでしまいましたがなんとか修正してみます
903 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 12:23:38.43 ID:A65FK9eD0.net] 目のかすみ >>872 >>869 神!トークン付けてスレッド実行して キャンセル時にスレッド内でIsCancellationRequestedで拾って Process.Kill()すればいいのか 行けそうな気がしてきた
904 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 12:51:17.47 ID:Nj5ihKJg0.net] それでいいのか アプリ強制終了っていうからタスクマネージャから落とす時のことを想像してた
905 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 13:02:04.01 ID:A65FK9eD0.net] >>879 それもあるよ!今はキャンセル機能ないから強制終了させて この問題発せしたんよ ちなみに強制終了の場合はなんか手法ある? 別プロセスもタスクマネージャーで落とすしかない?
906 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 13:15:26.35 ID:Nj5ihKJg0.net] 基本的にはそうじゃないかね ちょっと凝った風にするならプロセス間通信でハートビート送って応答なけりゃ自死するとかあるけど
907 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 16:20:57.98 ID:+4fiWh+W0.net] すみません、コルーチンの使い方について教えてください。 例えばRPGなどのゲームで、キャラクターAに話しかけると、数秒待って反応が返ってくるという処理をしたいと思っています。 まず、数秒待つというコルーチンを作り private IEnumerator waitforsecond(float sec) { yield return new WaitForSeconds(sec); } 次にAに話しかけた時の処理を作りました。 public void Sample(){ //50%の確率で無視される if(Probability.DetectFromPercent(50)){ MainText.text = “Aに話しかけてみた・・・”; StartCoroutine(waitforsecond(2)); MainText.text = "なんとAから無視された!”; //50%の確率で殴られる }else { MainText.text = “Aに話しかけてみた・・・”; StartCoroutine(waitforsecond(2)); MainText.text = "なんとAから蹴られた!”;
908 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 16:24:21.78 ID:+4fiWh+W0.net] これで、話しかけたあと2秒時待機して反応がある、という処理になるかと思ったのですが、うまく行きません。 あと登場キャラクターもA、B、C‥‥とたくさんいるのであれば、話しかけると数秒待って反応するという関数を作ってあげたほうがスッキリするのでしょうが、やり方がイマイチわかりません。
909 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 16:42:20.49 ID:VKoyYoRjM.net] >>883 非同期や
910 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 17:11:57.24 ID:+4fiWh+W0.net] >>884 非同期・・ググりました。 「非同期」とは重い処理があった場合は終わるのを待たないこと。とありますが、、
911 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 19:03:38.92 ID:+XWUccMjM.net] Wait前にthis.Refresh()って無意味だっけ
912 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 19:53:42.96 ID:5v/pkJgQa.net] >>882 何で待つのにイテレーターを使うのかちょっと意味がわかんないねw
913 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 20:08:47.12 ID:c4smrZlO0.net] yieldでコルーチンという一昔前の一発芸がUnityで幅を利かせているから仕方ないのねー
914 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 20:11:16.75 ID:969mh7640.net] 俺もあいまいな理解だから偉そうには言えないけど >>882 ここのサンプルが分かりやすいかも developer.wonderpla.net/entry/blog/engineer/Unity_Co-routine/ >>885 private IEnumerator waitforsecond(float sec) とpublic void Sample()が非同期(違う時間軸での動作)になるので待ち時間になっていない >>887 の言う通り待ち時間には他の物を使わないと
915 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 20:17:45.84 ID:mRRRBv2X0.net] >>878 その演算アプリがどういう物かわからんが そもそもそれ別プロセスじゃないとダメなのか?
916 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 22:25:20.57 ID:+4fiWh+W0.net] >>889 ありがとうございます。 他の物とは具体的にどんな関数を使えばいいのでしょうか?
917 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:14:15.44 ID:5v/pkJgQa.net] >>891 思ったより面倒臭い https://ideone.com/Sf85HN
918 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:22:50.38 ID:5v/pkJgQa.net] >>892 これ書いてて一つ疑問に思ったのが、 MessagingTask = MessagingTask.ContinueWith(t => job.Action()); これを以下のように、 MessagingTask.ContinueWith(t => job.Action()); こう変えると期待した動きにならない。 ContinueWithってキューになってて先に入ってるタスクの完了を待って次を実行すると思ったけど違うのか
919 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:42:43.30 ID:aABnGI350.net] >>893 重箱の隅…だが。 Task.Run(() => { })の代わりにTask.CompletedTaskってあるよ。 後、Task.Delay(Pause).Wait()ってThread.Sleep(Pause)で良いんでない。
920 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:44:55.38 ID:e6A24yU10.net] >>893 継続タスクが1つとは限らない。複数あったらパラって実行される。
921 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:48:25.54 ID:5v/pkJgQa.net] >>894 うん、知ってたけど今使ってるのがVS2015なのよ...
922 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:49:35.07 ID:5v/pkJgQa.net] >>895 やっぱり俺が誤解して理解してたんだなありがと
923 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 14:44:05.16 ID:3cOSTboLa.net] MenuStripコンポーネントでItemを選択した時にその左にチェックを入れるようにしてるのだけど 選択した時点でメニュー閉じちゃって若干不便なのだけど ひらいたままにする設定にはできないのでしょうか
924 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 19:07:18.92 ID:gzY/wSmba.net] >>898 ルートのアイテムの直下ならClickか何かで親のShowDropDown()を呼べば一応実現できるっぽい。 入れ子になってる場合は、 .... ToolStripMenuItem1.Click += (sender, e) => { RecursiveShowDropDown(((ToolStripMenuItem)sender)); }; .... void RecursiveShowDropDown(ToolStripMenuItem item) { if (item == null) return; var parent = item.OwnerItem as ToolStripMenuItem; RecursiveShowDropDown(parent); parent?.ShowDropDown(); } たぶんこれでいける。 でもエンターキーでクリックした場合の操作性に問題が残るけど
925 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 19:24:23.57 ID:gzY/wSmba.net] こっちの方がいいか EventHandler eh = (sender, e) => { Action<ToolStripMenuItem> a = null; a = item => { if (item == null) return; var parent = item.OwnerItem as ToolStripMenuItem; a(parent); parent?.ShowDropDown(); }; a((ToolStripMenuItem)sender); }; ToolStripMenuItem1.Click += eh;
926 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 03:15:52.41 ID:pRL7US30a.net] >>899 無事できました ありがとうございます!
927 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 11:47:42.69 ID:L3+XvQB40.net] 質問です 現在、以下のように一つの非同期処理(時間のかかるディスクの書き込み) を実行しています。 private async void button1_Click(object sender, EventArgs e) { await DoSomethingAsync(); MessageBox.Show("完了"); } これを実行中にUIを操作して、次の処理の準備ができたら(実行する内容はDoSomethingAsync) button1を押して予約し、実行中の処理が終わったら引き続き実行させたいです。(並列ではなく) また、「完了」は登録されたタスクが全て終わったときに出したいです。 どのように書くのが一般的なのでしょうか? 初回実行時にすべての実行すべきタスクがわかっている場合は そのタスクのリストを作ってWhenAllする みたいなのはググったら出てきたんですが ContinueWithを使うのかなと思ったのですが、書き方がわかりませんでした
928 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 11:58:25.65 ID:u2ta9zSf0.net] Queue<T>を使えば良いんじゃね
929 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 12:36:22.83 ID:cR8EPyISM.net] >>902 最後に追加したTaskを覚えておいてContinueWithで繋ぐとかできなくはないけど、 そんな変なハックをするくらいなら素直に別スレッド立てて順番にバックグラウンド実行したほうがいい Producer-Consumerでググれ
930 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 11:09:41.10 ID:a5srEHrc0.net] c#のフォームで、タイルマップエディタのようなものを作りたいのですが、どのような情報を調べたらいいでしょうか また、そのような目的に適したフォームはありますか? そもそもC#が適切なのかわからないのですが
931 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 11:41:19.60 ID:2iFL+VGx0.net] >>90 結局Unityになるんやろなあ
932 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 12:13:30.45 ID:kHS+5sOB0.net] VisualStudioでデバッグ実行した時だけプログラムがフリーズしてしまうのですがこういう時はどういった原因が考えられるでしょうか? WinFormを使用していてフォームが立ち上がったらバックグラウンドで色々するって感じの処理なのでどこかでUIスレッドをブロックしているのかとも思いましたがConfigureAwait(false)の設定し忘れは無さそうでした VisualStudioを通さずに直接実行した場合は正常に動作しています
933 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 13:05:26.46 ID:fW706uYI0.net] とりあえずフリーズした時に「すべて中断」して どこでブレイクされるか確認 ついでにスレッド一覧を見てみる
934 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 13:15:34.63 ID:O8+i9ARHp.net] >>908 それを試そうとしたのですが全て中断しても中断出来ない状況です 中断押すとVS自体もフリーズしてタスクマネージャーからプログラムを終了しないと復帰出来なくなります
935 名前:デフォルトの名無しさん [2019/02/25(月) 15:41:31.91 ID:stIKiSPsF.net] 最前面じゃなくて後ろ面にアクティブウィンドウがポップアップされてるんじゃね
936 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 19:11:52.07 ID:ERkCIkZda.net] >>902 単純にボタンをクリックした回数だけ非同期メソッドを実行したいだけなら これでいいような気が private bool mBusy = false; private int mRepeatCount = 0; private async void button1_Click(object sender, EventArgs e) { mRepeatCount += 1; if (mBusy) return; mBusy = true; for (int i = 0; i < mRepeatCount; i++) await DoSomethingAsync(); mBusy = false; mRepeatCount = 0; MessageBox.Show("全部終わった"); }
937 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 19:17:48.39 ID:61uBElrFd.net] >>907 俺はエディタでヒント表示させただけで落ちるけど。Blendなら使えてる。
938 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 06:14:33.14 ID:hTJo4mxi0.net] https://i.imgur.com/NCB8nLP.jpg c#をデバッグするとこのようなエラーが出るのですが、どこを改善すればいいかヒントをください
939 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 06:21:28.31 ID:byKZhMZS0.net] >>913 dllのパス
940 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 07:34:07.95 ID:hTJo4mxi0.net] ↑ありがとうございます .NET Core Launch (console) というデバッガを使っているので、 "program": "${workspaceFolder}/bin/Debug/<insert-target-framework-here>/<insert-project-name-here>.dll", という部分を修正するのだと思いますが、どう修正するんでしょうか? 実行したいプログラムを{workspaceFolder}/Program.csと指定してもエラーになります
941 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 07:53:17.80 ID:U5FDQ2yTd.net] >>915 いやだからcsじゃなくてdllだってば
942 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 07:54:10.15 ID:U5FDQ2yTd.net] ログにもちゃんと出てるはず
943 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 08:00:35.55 ID:H+xdnOpD0.net] >>915 プログラミングするなら英語は必須だから、「何だか分からないこと言ってる!」とか思わずにちゃんと読みな。
944 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 08:41:24.11 ID:hTJo4mxi0.net] >>916 c#なのにDLLなんですか? このDLLのパスは何をしてるんですか?
945 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 08:50:05.00 ID:UlQR9ttEM.net] 普通にVisualStudio(Codeじゃないやつ)ダウンロードして知識付けてから挑戦しろよ 邪魔だよ
946 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 09:40:46.12 ID:7RJrl9MrM.net] 小学校でプログラミング教育でも受けてろ
947 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 09:54:59.60 ID:s7Q5fSFO0.net] >>909 そうなるともう新しいプロジェクトに今のを段階的に移していってどこで再現するか確認するかなぁ
948 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 10:57:10.09 ID:s7Q5fSFO0.net] >>919 とりあえずエクスプローラなりコンソールなりvscodeとは別に開いて プロジェクトフォルダのbinフォルダの配下を確認 どこかにビルド結果のdllが作られてるから うちはいつの間にかPlatformって環境変数が定義されてたせいで HPDとかいうフォルダが1個挟まってたぞ
949 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 10:58:52.43 ID:RV1beKRS0.net] こっちへどうぞ Visual Studio Code / VSCode Part5 https://mevius.5ch.net/test/read.cgi/tech/1541649564/
950 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 11:47:10.27 ID:7Gbx8Ae00.net] >>922 ありがとうございます とりあえず特定のメソッドを呼ばなければ大丈夫ということがわかったのでデバッグモードでは呼ばないようにして対策することにしました
951 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 11:58:57.74 ID:hTJo4mxi0.net] >>923 デバッグできました 余計なフォルダが挟まっていました 指定してやらないといけないんですね ありがとうございました
952 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 12:16:54.99 ID:vuJi7+izd.net] どういたしまして
953 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 12:29:03.14 ID:CYrridvRd.net] >>923 それDELLやろ
954 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 12:29:38.62 ID:CYrridvRd.net] >>924 そっちはスレチ
955 名前:デフォルトの名無しさん [2019/02/28(木) 00:37:24.74 ID:weUa1N+o0.net] setterメソッドで文字列が8文字以下ならname変数に引数を代入する文を書きたいんですけど どのように書けばいいんでしょうか?
956 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 00:51:58.07 ID:ucEMLrR20.net] private string name; public void SetName( string name ) { if ( name.Length <= 8 ) { this.name = name; } }
957 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 00:55:51.76 ID:ucEMLrR20.net] セッターよりもプロパティで良い気がする private string name; public string Name { set { if ( value.Length <= 8 ) { this.name = value; } } get { return this.name; } }
958 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 01:05:38.31 ID:weUa1N+o0.net] >>931 ありがとうございますー lengthを使うとint型とstringをオペランドに比較が使えるんですね 覚えておきます
959 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 08:14:05.87 ID:3CdGs56rM.net] >>933 > lengthを使うとint型とstringをオペランドに比較が使えるんですね 言いたいことはなんとなくわかるけどほんとに理解してるのか不安になる文章だな
960 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 12:10:16.83 ID:2lomOid8M.net] 8文字越えた場合や 検証属性の話をと思ったけど自重
961 名前:デフォルトの名無しさん [2019/02/28(木) 19:23:03.02 ID:owSMuOWF0.net] Windows.Forms の質問です。 TextBox 数個と MenuStrip に サブメニューのない MenuItem を追加したFormで Altキーでメニューを選択すると、 カーソルキーの上下でTextBoxのフォーカスが移動するのですが どういった理由でしょうか?
962 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 20:29:09.92 ID:1IHH1hzPa.net] >>936 Menuに反応してるのでは?
963 名前:936 mailto:sage [2019/02/28(木) 20:50:40.99 ID:DAgKUWMjM.net] うーん ショートカットキーの設定ができるので ツールバーの代わりに使おうと思ったんですが 予想外のキモい動きで躊躇してます
964 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 21:20:30.71 ID:560qka060.net] ドロップダウンしないのは想定してないだろう
965 名前:デフォルトの名無しさん [2019/03/01(金) 12:58:28.41 ID:ozM8zBQ90.net] この本おすすめですか? https://www.amazon.co.jp/dp/4774187585
966 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 19:45:05.46 ID:MA7hbDcR0.net] JS hoge([[1,2,3], [4,5,6]]); C# hoge(new int[,] {{ 1,2,3 }, { 4,5,6 }}); javascriptみたいにnew付けないで渡せないですか? paramでは2次元がだめでした。
967 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 21:07:24.70 ID:tVNocw1h0.net] サイドバーについてなんですが、例えばgimpというソフトがあるのですが、両サイドにツールやレイヤーが表示されています このように領域を分けるコントロールを教えてください win form c#です これはもう1つフォームを追加してるんでしょうか?
968 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 21:59:18.22 ID:ORsij5/P0.net] >>942 フォームの枠の中に配置・移動させるのならVisual Studioでデザイナ画面+ツールボックスの「コンテナー」のカテゴリの好きなものを フォームの枠の外やはみ出して使いたいものには別のフォームを割り当て、というのが基本じゃないかな GimpはCだからどうやっているかは知らないけど
969 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 05:28:46.45 ID:QccNqZJQ0.net] 別フォーム使った場合でもドッギングなど可能ですか? だとすれば分けたほうが作業しやすそうですが
970 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 10:41:05.28 ID:29oPzrI/0.net] GTKでやればいいじゃない
971 名前:デフォルトの名無しさん [2019/03/02(土) 11:00:56.30 ID:+L4gK20KF.net] >>940 超初心者か池沼向け 普通の人はwebで充分
972 名前:デフォルトの名無しさん [2019/03/02(土) 11:02:23.80 ID:+L4gK20KF.net] GTKは糞
973 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 11:07:40.19 ID:QccNqZJQ0.net] >>945 win formではドッギングや分離はできないのですか? また、別フォームと同じフォームでやるのとではどちらが都合がよいでしょうか
974 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 11:11:23.26 ID:PVVyhIVEM.net] >>948 出来るよ。
975 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 11:12:34.80 ID:PVVyhIVEM.net] >>948 ttps://dobon.net/vb/dotnet/links/dockingwindow.html
976 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 11:22:59.87 ID:Flko+1Y10.net] 市販のinfragisticsのドッキングウインドウが楽チンだったわ
977 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 18:42:16.44 ID:QccNqZJQ0.net] Form1からForm2を呼び出すとき、こういう記述をしますが、変数の型がどうしてForm2なんでしょか?varじゃエラーです Form2 form2 = new Form2(); form2.Show();
978 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 19:06:17.17 ID:QSGa9wbhp.net] そのform2クラスは君が作ったんじゃないのか?
979 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 19:09:49.50 ID:euLZafKS0.net] 取り敢えずエラーの内容を読めよ
980 名前:デフォルトの名無しさん [2019/03/02(土) 23:01:13.05 ID:XIaahVa70.net] 学習のために、確保した変数がスタックかヒープかどっちにあるのか知りたいんだけどさあ 簡単にチェックする手段ってないんかな?
981 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 23:08:52.67 ID:20MtSIx6a.net] メモリダンプ系のツール使えばいいよ 昔の話だがメモリ上のオブジェクトグラフを可視化してGC絡みのバグをデバッグした事がある
982 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 23:10:49.78 ID:nONug4XP0.net] "変数が"ってことなら変数の型が参照型か値型か 要はコンパイルの時点で判断できる IntelliSenseでclassかstructを見れば良い話に思えるが
983 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 23:19:19.07 ID:20MtSIx6a.net] box
984 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 23:33:08.46 ID:D0+5Vwwl0.net] >>953 ワロタ
985 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 02:27:49.98 ID:6iGgKGSXa.net] >>957 それは違うと思うw
986 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 03:54:21.90 ID:uu9okAeO0.net] >>953 Form2というプロジェクトを作りましたが、これがクラスになるんですか? この変数型はどういう意味ですが
987 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 07:00:37.71 ID:cg06QXcyM.net] >>957 w
988 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 07:50:47.21 ID:+cu7OMqU0.net] >>961 一回チュートリアルなり 入門書とか入門サイトなりやってみろと
989 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 08:42:41.37 ID:uu9okAeO0.net] winformでノードエディタは作れますか
990 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 08:49:23.89 ID:+cu7OMqU0.net] >>964 いいからForm2わかったのかよ [] [ここ壊れてます]
992 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 08:57:36.29 ID:2YvY5qRC0.net] >>964 クラスがなんなのかわかっていないお前には無理 上にも同じ事書かれてるけどまず入門書を読め
993 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 09:55:03.51 ID:uu9okAeO0.net] ↑入門サイトで勉強してます
994 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 11:33:30.33 ID:lodoh91K0.net] >>967 もしかして、ろくに経験もなく基礎も理解しないまま作りたいものを作り始めて、わからないときだけサイトで情報拾ってどうにかなると思ってないか? ある程度基礎ができているか理解力のある奴ならそれでもいいが、君には無理だ。 ちゃんと金出して真っ当な入門書を買って、面倒がらずに順を追って基礎から身に付けてこい。
995 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 12:00:57.01 ID:fal7gHDn0.net] 質問した人は回答にフィードバックくらいしろよ 質問スレでフィードバックせずに次の質問って論外
996 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 12:07:11.30 ID:+cu7OMqU0.net] いいや そいつのクソレスなどいらん 入門サイトやら入門書を1ページでも前へ進めろ
997 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 13:48:10.30 ID:Nfj27eon0.net] そうだな。独習3版でも一回読み切る事をお勧めするよ
998 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 18:14:45.95 ID:7I/UY/410.net] >>964 ファイラー作るとか言ってた人だよね コピペ以外で何か作ることはできたの? 作れずに諦めて次できそうなもの見つけて質問するの繰り返しでしょ
999 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 23:49:50.24 ID:DRmEmwqA0.net] 君の作ったプロジェクトの内容なんて分からんよ。 プロジェクト内のソースを探せばForm2クラスを宣言してるんじゃないの? Visual Studioは色々自動生成して、色々隠蔽してるからオプジェクト指向が理解し難い。 一旦動いたら、全てのソースファイルをメモ帳で開いて動きを解析してみる。 全ては一度には理解できないから、オプジェクト指向の説明本を読む。 やっぱり理解できないけど、ソースを読み解くって繰り返すと段々理解できてくる。
1000 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 23:50:45.69 ID:DRmEmwqA0.net] アンカー忘れた。 >>961 さんへ
1001 名前:デフォルトの名無しさん mailto:sage [2019/03/04(月) 19:07:44.29 ID:RIX3InQp0.net] WinXPのスタートメニューのように、ContextMenuStripのToolStripItemにDrag&Dropって出来ますか? ToolStripItemのAllowDropをTrueにしても、ToolStripItemのDragEnterイベントが発生しないのですが。 VC++2008を使用しているのですが、ToolStripItemのプロパティ窓にはAllowDropもDrag関連のイベントも 表示されていないので、コードで記述しているのですが、もともとサポートしていない?
1002 名前:デフォルトの名無しさん mailto:sage [2019/03/04(月) 20:54:01.14 ID:+WeHVjLY0.net] >>975 試してないけどdocsには https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.toolstripmenuitem?view=netframework-4.7.2 DragDrop ユーザーが項目をドラッグし、マウス ボタンを離したとき (つまり、項目がドロップされたとき) に発生します。 (Inherited from ToolStripItem) https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.contextmenustrip?view=netframework-4.7.2 DragDrop ドラッグ アンド ドロップ操作が完了したときに発生します。 (Inherited from Control) ってなっているからContextMenuStripのは期待通り動作しそうだけどToolStripItemのは項目自体のものだから単独では無理かと どうしてもやるのならContextMenuStripのほう使ってMouseMoveか何かでカーソルと項目の位置確認しながらやるとか その前にContextMenuStripがFocusの移動とかで閉じないようにClosingのイベントの設定なども当然必要 もう一回書くけど試してないし試す気もないので責任も取らないw
1003 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 20:50:34.30 ID:nLVidvZ50.net] 来月からASP.Net初めて触るんだけど 何から始めればいいの? MVCとかそういう単語と理論とか??
1004 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:09:43.18 ID:oLv4eGw30.net] >>977 ASP.NETにもいろいろあるんだけど… とりあえずテンプレートをビルドして動かしてみるところから
1005 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:11:48.41 ID:1+PBsWw4M.net] >>977 君が業務ドカタなら、たぶん君がやることになるのはASP.NET MVCでもASP.NET CoreでもなくClassic ASP.NET(WebForms) Webの知識皆無でも最低限形だけでもWebアプリを作れるようにしたフレームワークで、 WinFormsでメモ帳モドキくらい作ったことがあれば楽勝だから何も心配いらない
1006 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:15:44.81 ID:oLv4eGw30.net] >>979 ASP.NET MVCなんじゃね? 知らんけど
1007 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:26:05.38 ID:1+PBsWw4M.net] >>980 MVCの意味も知らない子が投入されるような現場でASP.NET MVCなんか使ってるかねえ まあ物好きな前任者が一人で作ってたシステムだったりするとあるかもね
1008 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:26:41.18 ID:D2mtoqngM.net] 逃げる心配はしてもいいかも
1009 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:43:37.08 ID:xU8Jrq3Z0.net] >>981 前やった40画面くらいの小規模プロジェクトがMVCでしたわ メンバーのほとんどがjs?css?c#?LINQ?な素人で激アツだった
1010 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:52:08.74 ID:MehlFqwY0.net] Webは覚えることが多すぎて禿げちゃうから 学習コストが低いらしいBlazorに期待してる
1011 名前:デフォルトの名無しさん [2019/03/06(水) 23:01:29.39 ID:wF9IXRdCr.net] asp.net core使って開発したいがまだまだ実用レベルではないんだろうな そう思うと開発頓挫しそうで使えない
1012 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 23:15:31.66 ID:b1gJEqu2a.net] 普通に使えるよ 英語読めないジャップにとっては永遠に実用にはならないだろうけど
1013 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 23:19:16.57 ID:07omsi5cM.net] 〇〇Coreはバージョンアップで平気で互換性切ってくるから、受託開発では使っちゃいけない代物 ソースを手放さずいつでも自己責任で弄れる事業形態向け
1014 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 01:08:41.43 ID:tnYmqFtJ0.net] >>985 もう既に実運用してるけど そろそろ3年だしさすがにね
1015 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 01:09:12.20 ID:tnYmqFtJ0.net] >>987 おじいちゃんはずっとCOBOL使ってればいいと思うよ
1016 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 01:28:00.03 ID:rQAOToBLM.net] >>989 こればっかりは老害とかそういう話じゃなくて業界構造の問題だからね 米国のシステム開発は内製が主流であり、基本的に自己責任だから改修のハードルが低いの それに合わせてMSの開発者向けプロダクトも変化を許容する方向へ変わってきていて、 もはや日本のSIには全く適さないものになってしまってるんだよ
1017 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 01:59:57.04 ID:1eeIEHnS0.net] OSSとか向こうから来るもんは全部そうだね 人身売買なんかやってたら理解できない文化ばっかり
1018 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 05:24:03.06 ID:rQAOToBLM.net] OSSに対する考え方は顕著な例だね 受託開発においてOSSのライセンスを受ける主体は開発会社じゃなくてユーザー会社だから、 当然、開発会社が使用したOSSは全てユーザー会社に把握させてユーザー会社自身が承認しなければならない これは事業形態上完全に正当で必須なプロセスであり、時代遅れとかそういう問題ではない NuGetやNPMなどのパッケージマネージャで依存関係として勝手に入ってくるOSS全てに対してこのプロセスを適用するのは事実上不可能
1019 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 06:32:35.38 ID:6L3KEJfe0.net] 次スレが立ってないようなので立ててくる
1020 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 06:36:57.49 ID:6L3KEJfe0.net] 次スレ mevius.5ch.net/test/read.cgi/tech/1551908141/ msdnのリンクはdocsに変更しといた
1021 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 07:20:20.11 ID:Zl7f22uA0.net] >>986 日本に住んでるなら日本語使えや、英語なんて翻訳すりゃあいいんだよ。フランス人を見習え
1022 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 07:51:25.69 ID:KDtWvu+2a.net] >>995 英語出来ない言い訳ww
1023 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 08:33:12.38 ID:AIEkzJHxd.net] >>990 Googleと比べてみ
1024 名前:デフォルトの名無しさん [2019/03/07(木) 08:51:22.28 ID:p9S7AU5B0.net] インターネット創世記の頃は情報共有とか甘い言葉が飛び交ったが 最近ではやっぱスキルやノウハウといった知的財産情報は 対価を払って手に入れるべきだと思うようになった ネットでただで手に入れたいなら英語くらい読めよって話だな
1025 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 09:10:26.28 ID:0euQyoSb0.net] 1000
1026 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 09:10:41.65 ID:0euQyoSb0.net] 1000!
1027 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 81日 22時間 3分 34秒
1028 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています