1 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 04:02:10.51 ID:/jJUZ/t7.net] ■Visual Studio 2017 Community(無償の統合開発環境)等はこちら www.visualstudio.com/downloads/ ■コードを貼る場合はこちら ideone.com/ ■前スレ C#, C♯, C#相談室 Part94 mevius.2ch.net/test/read.cgi/tech/1492843013/ ■次スレは>>970 が建てる事 建てられない場合は他を指定する事。
130 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 17:39:26.99 ID:5vVJXllV.net] partical いいよなぁ
131 名前:デフォルトの名無しさん [2017/11/12(日) 18:01:29.09 ID:PNAmYcb6.net] >>119 APIはあっても、実際は例外投げるんじゃないかとか。 StreamやISerializableなど今まで散々レガシー扱いされてたのに、 すんなり実装されたのだったら、今までは何だったのかと思ってしまって。
132 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 18:02:25.44 ID:Lnuis1wP.net] >>124 「配置できるファイルに〜」のところもソースファイルの話だったか、失礼した
133 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 18:42:10.04 ID:WcVSvCUs.net] >>118 読み方はあっているのかい?
134 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 18:55:18.48 ID:52C+Ep3W.net] >>132 えにゅめらぶる
135 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 19:11:35.21 ID:Ti9eVPN+.net] >>133 いい難いなw
136 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 19:31:01.04 ID:WbI57bEd.net] あいえにゅめらぼー
137 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 19:38:58.15 ID:RZNIwvSq.net] れっきょ
138 名前:デフォルトの名無しさん [2017/11/13(月) 01:47:33.98 ID:v8HXsfBj.net] >>126 リフレクション そもそも用途がわからんけど
139 名前:デフォルトの名無しさん [2017/11/13(月) 01:55:32.64 ID:v8HXsfBj.net] >>130 最初のリンクがそもそも.NETStandardの話なんだけど、.NETStandardとは何か知ってれば(最低限ググれば)前者は迷う余地がない 後者は経緯知らないけどレガシーが実装されたらだめという理由がない …と考える人が大多数だと思う
140 名前:デフォルトの名無しさん [2017/11/23(木) 11:44:32.89 ID:3aIXz7vh.net] C#でちょっとした文字列の連結を行う場合、+がいいのかFormatがいいのかReplaceがいいのかStringBuilderを使うのがいいのか悩んでます どれが一番いいのでしょうか? 1. string value = A + "-" + B; 2. string value = string.Format({0}-{1}, A, B); 3. string value = "{A}-{B}".Replace("{A}", A).Replace("{B}, B); 4. StringBuilder sb = new StringBuilder(); sb.Append(A); sb.Append("-"); sb.Append(B);
141 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 11:50:10.15 ID:nWWLjgB9.net] こんな細かいことで悩んでいたら禿げるわ それぞれにどれだけの差が出てくるか考えろよ
142 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 12:00:55.88 ID:+AsqqoLD.net] $"{A}-{B}" でしょ
143 名前:デフォルトの名無しさん [2017/11/23(木) 12:03:56.69 ID:3aIXz7vh.net] >>141 なるほど
144 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 12:04:14.40 ID:11MjDn+U.net] とりあえず、環境が許すなら141、駄目なら139の1
145 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 12:13:05.14 ID:1XchAmld.net] 連結ならいつもは分かりやすさ優先で+ 実際に扱うデータで使ってみて遅いと感じたらStringBuilderに変えてるわ 置き換えは置き換えの時だし、フォーマット形式が必要と感じたらそれ使うし 悩むのかこれ…コーディング終わらんやろ…
146 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 12:20:49.75 ID:Go3NcBxu.net] 最初はくだらない事に悩むからしょうがない。直に、開き直るからそれまでとことん悩め。
147 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 12:24:20.12 ID:nWWLjgB9.net] >>145 こういうので悩みだすのはスキルが伸びず閉塞感に陥って逃げ道探しているときだw
148 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 12:28:18.93 ID:kBi82nCb.net] 4とか使うのは連結回数がクソ多いぐらいだな
149 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 14:17:08.77 ID:U/QtJVxM.net] StringBuilder必要なのはループで回す時くらいやろ 固定回数なら最適化されるんちゃうか しらんけど
150 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 15:17:10.10 ID:JqKYKF6h.net] 改行したい時はsb.AppendLine使う var s = $@"hello {A} world"; 別にこれでもいいけど、インデントが気持ち悪い
151 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 18:08:06.61 ID:w+OP7Z8m.net] 数個程度の定数個の結合にStringBuilderは無いね @""で改行入れたときの改行コードってソースコードの改行コードに依存するんかな
152 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 18:25:49.20 ID:Go3NcBxu.net] StringBuilder使うのは基本、ループ内で文字列結合するときだけだな
153 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 18:28:19.08 ID:zj6W6oGG.net] スレがボケジジイの繰り言みたいになってる
154 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 18:29:25.95 ID:Go3NcBxu.net] と書くと、問題あるな。あるメソッド内でループしてないから普通に文字列結合してても、 そのメソッドを使う方でループしてメソッド呼び出されたら・・ ということでなんでもない。
155 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 19:44:15.73 ID:NThPFj2G.net] パフォーマンスは大差ないので可読性で選ぶ となると 定数個なら+ 動的ならlinqとJoin
156 名前:デフォルトの名無しさん [2017/11/24(金) 08:32:28.20 ID:LQb8e4yU.net] public override と override public とでは、どっちが普通ですか?
157 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 08:40:21.61 ID:GsVE4oKd.net] アクセス修飾子が先
158 名前:デフォルトの名無しさん [2017/11/24(金) 09:49:06.09 ID:LQb8e4yU.net] >>156 じゃあstatic使う場合は どこに入れるべきですか?
159 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 11:32:34.25 ID:GsVE4oKd.net] アクセス修飾子が先
160 名前:デフォルトの名無しさん [2017/11/28(火) 20:01:33.21 ID:uo9ygS2y.net] EF Core + MariaDBで行ロックをするにはどうしたらいいですか?
161 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 11:56:45.71 ID:/OzCwr8n.net] >>159 行ロックって何よ?
162 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 12:25:04.50 ID:rN1pofYI.net] >>159 EFに明示的なロックは要らん 保存するときに他の変更があれば保存は失敗する
163 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 15:02:54.88 ID:LyP2QHxX.net] EFは基本、楽観ロックだからね。 自分が更新するデータは誰も変更しないだろうということで楽観的に考えて行ロックを取得しない。 で、実際の更新時に、保存しておいたタイムスタンプ列や全列を比較して更新するUpdate文を 発行して誰も変更してなきゃ成功する。
164 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 15:08:27.80 ID:LyP2QHxX.net] 対して、悲観的ロックは誰か変更するんじゃないかと悲観的に考え前もって行ロックする。 行ロック取得したければ、トランザクションの分離レベル変更して、間接的に取得すればいいんじゃねぇかな。 例えば、トランザクションをロックを使って実装してるデータベース使ってるなら、 トランザクションの分離レベルをREPEATABLE READにして読めば、読み込んレコードには 行ロックがかかる。
165 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 15:52:26.83 ID:x/indGo0.net] >>161 楽観的排他制御ってやつか!?
166 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 21:11:58.94 ID:fgyKG67K.net] リトライだらけになる
167 名前:デフォルトの名無しさん [2017/12/02(土) 10:37:02.24 ID:OECpFj6Y.net] Consoleアプリの関数Aから別のスレッドで関数Bをを実行。 Bが終わるまで数分かかるので、その間はAの処理を引き続きやる。 Bが終わったら何らかの通知をA(あるいはアプリ)で受けとる。 そんな処理をしたいのですが、どんな手法がお勧めですか?
168 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 11:20:32.34 ID:qE46CGT4.net] >>166 Hangfire
169 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 12:07:47.28 ID:pzCW2tCE.net] 書き捨てならポーリング
170 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 12:18:43.47 ID:dIIqSudI.net] >>166 普通にTaskとasync-await
171 名前:デフォルトの名無しさん [2017/12/02(土) 13:31:40.26 ID:OECpFj6Y.net] >>167 情報ありがとうございました。調べてみます。 >>168 それは何ですか? >>169 関数Aの中で関数Bの終了をawaitするとそこでAの処理が停止しますよね? それでは困るんです。
172 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 13:38:50.65 ID:/lrBlva0.net] 通知を受け取って何をするの? Aが実行中に通知を受け取った場合は? Aが終わったあとに通知を受け取った場合は?
173 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 13:44:11.82 ID:M5ek0NUJ.net] >>171 終わったってフラグでも作っておけばいい 何のためにそんなこと聞くの?
174 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 14:11:31.35 ID:kxO6m70V.net] >>172 実際にコードに起こすこと考えたら>>171 の疑問出てこない? ポーリングの有無とかB終了の通知はA以外で受けたほうがいいのかみたいな
175 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 14:21:45.96 ID:/lrBlva0.net] void A() { ... Task.Run(() => B()); ... ... } void B() { ... ... SetSomeFlag(); } こういうこと? 何をしたいのかハッキリしないな
176 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 14:22:18.75 ID:T9uGCJHM.net] >>170 関数BをTaskで実行しておいて、たまにTask.Wait(0)がtrueを返すか確認する
177 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 14:22:55.12 ID:M5ek0NUJ.net] >>173 何で目の前の問題置いて次の実装考えるの やり方が一つ決まったらそれでやり通す必要もないし 質問者の要件わからないのにそんなこと聞きだす必要はない
178 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 15:15:48.94 ID:XMkOweAB.net] 多分処理AはUIスレッドなんだろ 処理B実行中にUIは止めたくない そして処理B完了でUIを更新したい そんな要件だと想像した
179 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 15:34:29.65 ID:kxO6m70V.net] >>177 それだとInvokeやDispatcherの話にも広がりそうだね
180 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 16:57:04.20 ID:ax4ftaEq.net] >>177 consoleアプリって書いてあるやん
181 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 17:27:35.43 ID:2zJJAtZS.net] 10レスそこらも遡れないとかヤバすぎて草
182 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 18:20:58.48 ID:M5ek0NUJ.net] 元の話が設計で根本的におかしいか思い付きで質問しているかどっちか 後半に100ペリカ
183 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 20:31:53.15 ID:XMkOweAB.net] コンソールアプリなら EventWaitHandle使うのが楽そう
184 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 21:02:27.32 ID:8UWC/wK0.net] WaitHandleは完了を待つ側のスレッドをブロックするから、 それでいいんだったら普通にasync-awaitでいい
185 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 21:06:19.33 ID:pzCW2tCE.net] せやね
186 名前:デフォルトの名無しさん [2017/12/02(土) 22:01:19.49 ID:hEzEqaaq.net] Aで何したいかだけどコールバックでいいんじゃないの
187 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 22:11:03.11 ID:8UWC/wK0.net] だったらTask.ContinueWithでいいだろ
188 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 01:24:35.88 ID:R5bnWQiD.net] つかそもそも別スレッドで実行する必要があるのか 別プロセスで良いんじゃねえのか
189 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 10:20:17.77 ID:8EUneh2f.net] >>187 プロセス間のデータ受渡はsoket通信する感じ?
190 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 10:32:03.87 ID:eMfWVF0k.net] >>188 勝手に要件作る気なのかw しかも中身まで要エスパーとか
191 名前:166 mailto:sage [2017/12/03(日) 10:48:55.10 ID:fYwJfoN4.net] 皆さんレスありがとうございました。 >Aが実行中に通知を受け取った場合は? 関数Cを別スレッドで実行したいです。例えばこんなふうに。 void C(){ Console.WriteLine("Bが終わった"); } >Aが終わったあとに通知を受け取った場合は? Aは終わらないと言う前提でお願いします。
192 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 10:52:57.14 ID:eMfWVF0k.net] >>190 >>186 に出ているだろ というかTaskメソッドをMSDNで調べろよ
193 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 11:54:26.84 ID:dO3du7bJ.net] ふらっと案件
194 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 12:01:59.74 ID:mrNMXEOK.net] フラット案件どころかこれだけレスとキーワード出ていて自分で解決できないのならプログラムやめるべき
195 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 12:09:59.71 ID:S5PX0FVt.net] 勘違いレスした奴もふらっと行きの刑で
196 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 12:14:39.54 ID:WBs9Zv02.net] 何でもいいけどすぐ動く完動品が出てくるまでこの調子だと思うぜ どうせソースないんだろ、出てきたものを見ていじって作ろうとしてるんだろ
197 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 14:16:09.36 ID:VfzmjXdH.net] >>190 BとCについてはよく分かった Aが現状どういう処理をしているかによって 解決の仕方が違ってくると思うな
198 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 21:08:04.26 ID:Or+Mlh4N.net] Aは終わらないという前提でちょっと笑った
199 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 17:37:29.30 ID:KH9vP8EW.net] コンソールアプリで関連性のない2つの動作を同居させるシチュエーションがわからん マルチスレッドにしたら効率が良くなるってだけの頭の悪い発想じゃね >>187 が当てはまらないのならぜひ教えてほしいくらい
200 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 04:39:39.43 ID:PV/6ekcb.net] >>188 コンソールアプリ同士なんだから、まず標準入出力でダメか考えるべきじゃね ソケット通信が必要ならまあやればいいけど、それだとそもそも
201 名前:コンソールアプリなのが正しいのか疑問だ [] [ここ壊れてます]
202 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 07:38:42.71 ID:7eNsiGhQ.net] >>199 ASP.NET Coreなんてもろコンソールアプリだけどな
203 名前:デフォルトの名無しさん mailto:sage [2017/12/07(木) 01:34:47.15 ID:f4DoJP6b.net] >>199 GUIが必要ないからCUIってプログラムは幾らでもあるが。
204 名前:デフォルトの名無しさん mailto:sage [2017/12/07(木) 12:33:06.20 ID:NfkoL/Di.net] >>201 それはGUIが基本なのかCUIが基本なのかの違いであって コンソールアプリである必要性とは関係ないよね 別にGUIを基本にしろって主張じゃないよ ただCUI=コンソールアプリってわけでもないだろうと
205 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 07:32:48.50 ID:fJhEByrM.net] Task<string>型からstream型に変換するにはどうしたらいいでしょうか? 調べてもよく分からず詰まっています
206 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 08:44:02.62 ID:tLAi6Ik2.net] よく分からんけどstringを取り出してからTextReaderかなんかに渡す
207 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 10:24:35.41 ID:nTa8GCuy.net] >>203 何がしたいん?
208 名前:デフォルトの名無しさん [2017/12/15(金) 22:48:43.84 ID:Io6GZfPK.net] >>205 https://ideone.com/CfSqOZ こんな感じでurlを投げて返ってきたものをstreamに入れたい
209 名前:デフォルトの名無しさん [2017/12/15(金) 23:04:26.66 ID:Io6GZfPK.net] // HTTPアクセス var req = WebRequest.Create(url); var res = req.GetResponse(); // レスポンスをオブジェクトに変換 Stream s = res.GetResponseStream(); StreamReader sr = new StreamReader(s); string str = sr.ReadToEnd(); もともとConsoleAppでこう書いて動いてたんだがGUIベースのにしようとしたらGetResponseが使えなかった 代わりにGetResponseAsyncにしたらエラーが出てもっとわからなくなった
210 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 23:08:46.23 ID:TZIV/XXh.net] ナウなヤングはHttpClient.GetStreamAsync
211 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 23:50:34.14 ID:aqOMh7+X.net] 低水準言語からC#に戻ってくるとlinqが有能すぎて困る困らない ienumなんとかいうヤツにforeachないのはなんでなの?魔女のバァさんの呪いか?
212 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 00:22:04.98 ID:IGcNQYtz.net] List<T>.ForEach(Action<T> action) みたいなやつのことかな? はい副作用ドーン!はLINQとしてどうなのってことで入らなかった
213 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 00:24:11.12 ID:ArLhqftT.net] console では処理を止めても良いから、同期処理でも良い でも、GUI では処理を止めると、アプリが動かなくなるから、 50ms 以上掛かるものは、非同期処理が推奨
214 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 22:25:24.29 ID:GhzhJYge.net] もっと非同期処理について学んでみます
215 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 22:23:42.36 ID:5DMorLlq.net] Int32へのIntPtrを渡さなければいけないのですが、unsafeコードしか方法はないのでしょうか? 現状、 Int32 int32; IntPtr intPtr; unsafe { intPtr = new IntPtr(&int32) } someObject.someMethod(intPtr); みたいな感じです。
216 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 22:42:24.23 ID:7zt8qegi.net] >>213 無さそう https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/unsafe-code-pointers/pointer-types https://msdn.microsoft.com/ja-jp/library/system.runtime.interopservices.marshal(v=vs.110).aspx そもそもどう使うか思いつかない。 アンマネージで必要ならrefで渡すし
217 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 23:03:00.80 ID:5DMorLlq.net] System.Runtime.InteropServices.ComTypesで用意されてるインターフェース使うと、 IntPtrで宣言されてるんですよね・・ まぁ、自前でrefで宣言しなおしてもいいんですけど。 うーん。どうしよう。
218 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 23:05:43.88 ID:5DMorLlq.net] まぁ、out,ref使わずにIntPtrで宣言すると、null渡せるっての1つの利点ですかね・・ COMインターフェースでオプショナルな引数もあって、そん時はnull渡してくれみたいのもあるんで。 >>213 みたくunsafeしなければいけなならデメリットの方が大きそうですけど。
219 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 07:23:44.08 ID:FokzMHrG.net] Marshal.AllocCoTaskMemするとか new int[1]してGCHandle.AllocでPinnedしてAddrOfPinnedObjectするとか
220 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 13:37:53.98 ID:IhvApffy.net] 直接アンマネージにポインタだけ渡すってどうなんだろ Marshal.AllocHGlobalとかしなくていいのか?
221 名前:デフォルトの名無しさん mailto:sage [2018/01/06(土) 23:07:58.15 ID:RVXlFPlL.net] いまだにどこまで.Pinnedしなきゃならないのかわからないw 趣味グラマだからわからないままでも問題はないんだけども C#始めたころはいちいち書いていたが最近はずっと省いているな
222 名前:デフォルトの名無しさん mailto:sage [2018/01/07(日) 00:09:48.08 ID:X58Odkk6.net] 変数がスタックにあるなら要らん それ以外は必須 GCHandle.Allocは解放漏れでメモリリーク起こす可能性があるしパフォーマンスも悪いからなるべくfixed使った方がいい
223 名前:デフォルトの名無しさん mailto:sage [2018/01/07(日) 00:21:49.73 ID:gMArQtmD.net] ここはC#アンセーフコードスレですか?
224 名前:デフォルトの名無しさん mailto:sage [2018/01/07(日) 00:44:39.18 ID:Fl8YPIHO.net] >>220 サンクス だけどアンマネージ側に渡すのにいちいちunsafeにはしたくないな
225 名前:デフォルトの名無しさん mailto:sage [2018/01/07(日) 00:52:39.44 ID:MTMRs8S5.net] IntPtrってvoid*相当で型安全もクソもないし AllocHGlobalもmallocを生で使うのと変わらん unsafeよりよっぽどunsafe
226 名前:デフォルトの名無しさん mailto:sage [2018/01/07(日) 03:57:43.36 ID:BXo/eClR.net] C#のスクリプト実行がVSなしでも動かせて、Pythonとかの代わりに使える未来はないかな?
227 名前:デフォルトの名無しさん mailto:sage [2018/01/07(日) 10:21:20.72 ID:EnYFx2jS.net] >>224 >C#のスクリプト実行がVSなしでも動かせて これはもうできるやろ
228 名前:デフォルトの名無しさん mailto:sage [2018/01/07(日) 13:30:19.23 ID:6UmxljW6.net] 今のままだとpythonの代わりにはならんわ pythonは標準のモジュールにスクリプト用やOS周りの便利な機能が組み込まれてる
229 名前:デフォルトの名無しさん mailto:sage [2018/01/07(日) 13:43:21.05 ID:6UmxljW6.net] pyhtonだと他のコマンドの出力をワンライナーで処理とかあるけど C#はまあ無理だな そういう所ですみわけされてる 適材適所
230 名前:デフォルトの名無しさん mailto:sage [2018/01/07(日) 14:44:36.87 ID:wnez5vhA.net] python だと標準でできて .net だとできないことって何かあるかな?