ふらっと C#,C♯,C#(初心者用) Part147

■ このスレッドは過去ログ倉庫に格納されています
2020/02/19(水) 17:25:41.55ID:IsrGexiaF
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part146
https://mevius.5ch.net/test/read.cgi/tech/1576069931/
■関連スレ
C#, C♯, C#相談室 Part95
https://mevius.5ch.net/test/read.cgi/tech/1508168482/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/

■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2020/05/17(日) 10:54:28.10ID:xmDbof2g0
>>710
https://docs.microsoft.com/ja-jp/dotnet/
2020/05/17(日) 10:57:26.34ID:a6GN2IRE0
>>708
そのコードを晒してみれば、優しいお兄さん方が色々指導してくれるかも知れないよ。
独学ヤバいと思うならやってみてもいいかと。
2020/05/17(日) 12:52:02.62ID:WidHY7hL0
>>712
大学卒業したての美人の女医さんに
はい、パンツ脱いでおちんちん見せなさいって言われてるようで
はずかしすぎてとても無理っす



落ち着いていろんなことを実験したり調べてみると理解できるようになるんで頑張ってみます
714デフォルトの名無しさん (ワッチョイ 17f1-8kLo)
垢版 |
2020/05/17(日) 13:26:59.78ID:oJIHh9Jk0
>>713
逆に大学卒業したての美人の女医さんに
はい、パンツ脱いでおちんちん見せなさいって言われる体験をしたいのですが
どうすればいいですか?そんな例えを思いつくくらいだから方法はあるのでしょうね
2020/05/17(日) 14:26:14.44ID:WidHY7hL0
>>714
5歳ぐらいに戻れば簡単
変装でも8割方いけますわ
716デフォルトの名無しさん (ワッチョイ 17f1-8kLo)
垢版 |
2020/05/17(日) 14:39:23.29ID:oJIHh9Jk0
>>715
717デフォルトの名無しさん (JP 0H13-2td9)
垢版 |
2020/05/17(日) 15:21:16.64ID:BOpWVUpQH
IT掲示板群 ttp://x0000.net/forum.aspx?id=15

学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など

simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
2020/05/17(日) 15:59:31.45ID:bUEaT9ex0
>>708
使い方とか設定でなにかあるのかもしれないけど、挙動からみるとデザイナはリアル
タイムにクラスのコードを解釈しているのではなく、キャッシュされたコードを使って
描画を行っているっぽい

DataGridViewクラスはhogeColumnクラスとhogeCellクラスを作るとユーザ定義の
セルを作れて、デザイナで作ったセル用のクラスをコントロールできるようになる
けど、作成直後はコードを保存してもリビルドしてもデザイナには反映されない
一旦コードをデバッグ実行すると、次からはデザイナでコントロール可能になるけど
プロパティを増やすとデザイナーに反映されないし、削除するとプロパティがないって
デザイナのコンパイラ(?)がエラーを吐いたりする

一応デザイナ画面を表示させない状態でバイナリのビルドに成功した状態で実行
してフォームが表示されれば、次からはデザイナで操作できるので気にしないで
使ってるけど

.NetFrameworkのソース見ると何か色々、実際のコードとは関係なさそうな指示
コードがたくさん書いてあるので、デザイナで使用するにはこの辺も記述する
必要があるのかもしれないけどよくわからない

デザイナで表示されるプロパティウィンドウに表示されるのは、単純にクラスで定義
されているプロパティなので別に違いはないはずだけどなぁ
2020/05/17(日) 17:21:28.05ID:WidHY7hL0
>>718
とても参考になりました
ありがとうございます

デザイナのエラーで元に戻らなくなると怖いので
ソリューションフォルダごとバックアップのためコピーしてるんです。
でも、エラーが起きるはずのないフォルダから起動しても
エラーが一時的に起きたことがあったんで疑問に思ってました。
キャッシュが残ってたからなんですね

>一応デザイナ画面を表示させない状態でバイナリのビルドに成功した状態で実行
>してフォームが表示されれば、次からはデザイナで操作できるので気にしないで
>使ってるけど

これ意識してなかったんですけど、そう言われればその手順でやるとエラー消えてました

プロパティについては理解が浅くて、いろいろ間違えていました。
山田先生の独習を読み直して教科書通りに書き直してみたらエラーが起きないようになりました
setterにいろいろ書きすぎてました。一応動いちゃうので大して気にせずに。

あと、自分で書いたプロパティとの違いですけど、これも勘違いしてました。
例えばForm1はFormクラスを継承してるので、プロパティはFormクラスや
さらにその先のクラスで定義されてるということですね
Designer.csやForm1.csでそれらしきのが書かれていなかったので早合点してました
2020/05/17(日) 18:05:02.43ID:kGA4FYso0
本題とは関係ないけど
> デザイナのエラーで元に戻らなくなると怖いので
> ソリューションフォルダごとバックアップのためコピーしてるんです。
Git導入してみてはどうだろう 一人開発でも十分役に立つぞ
今どきはVSにも組み込まれてるんだし
2020/05/17(日) 18:12:17.37ID:T4/b/bLZa
初心者の勉強にGitなんか要らんよ
俺も初心者の頃は意識高い情報に踊らされてバージョン管理しながら勉強してたが、前のバージョンに戻すなんて一度たりともやった覚えがない
もっと言えば、初心者時代に書いたコードなんてはっきり言って何の価値もないゴミだ
後から見返したことは一度もない
722デフォルトの名無しさん (ワッチョイ d390-6tiU)
垢版 |
2020/05/17(日) 18:27:33.37ID:NeE1Esak0
後々取っておくとこんなのもあったなあ…って懐古しながら成長したことを実感できるよ
2020/05/17(日) 18:29:18.21ID:EbKAPsbe0
いろいろ試行錯誤する初心者の方が役に立つと思うけどなぁ。
ガチャガチャ試しているうちに今まで動いていたところがなぜかうまく動かなくなったとか。
724デフォルトの名無しさん (アウアウウー Sa31-L7FI)
垢版 |
2020/05/17(日) 18:42:33.53ID:sPeeGmAVa
ZIPで固めて丸ごと保存最高だよねw
一瞬で出来るし何の準備もいらん
2020/05/17(日) 19:15:02.60ID:WeV7wvNO0
Gitは保存の仕方だけ覚えたから上書きだけしてる
初心者だからバージョン管理とか不要
2020/05/17(日) 19:33:53.04ID:VAj0yrtz0
初心者だろうとなんだろうとバージョン管理は基本
2020/05/17(日) 19:56:39.41ID:zE6yFOdt0
バージョン管理システムの概念を理解するまで結構慣れが必要だから
初心者の内から触るのも悪くない
2020/05/17(日) 20:03:25.43ID:US7auhKkH
私も昔は CVS のレポジトリを dropbox に置いてお気楽に、ああ便利だ、とやってましたが…
ある日突然レポジトリが死んでしまったのにショックを受けて以来、今も躊躇しているのです
729デフォルトの名無しさん
垢版 |
2020/05/17(日) 20:22:56.77
>>724
これ
2020/05/17(日) 20:24:25.56ID:a6GN2IRE0
>>723
だよな。
初心者じゃなくても、不具合を生んじゃった箇所を調べたり出来るし。
過去バージョンに戻したりはしないけど、比較はよくやるよ。実際。
731デフォルトの名無しさん (ワッチョイ 178e-LqUT)
垢版 |
2020/05/17(日) 20:35:22.45ID:dvSHUyYR0
比較なんてエディタでもできるし
そもそも一人なんだからローカルリポジトリでいいだろ
2020/05/17(日) 20:47:12.43ID:cbSXa2eM0
sourcetreeいれてブランチつくってこねこねしてたらなんとなく複雑なバージョン管理している気分になれるからおすすめ
なお実戦で役に立つかどうかはしらん
2020/05/17(日) 20:49:38.05ID:T4/b/bLZa
SourceTreeってWindows版はWPFだから嫌い
Forkに乗り換えたわ
2020/05/17(日) 21:11:45.42ID:hv2XIFXO0
>>733
べつに使う側からしたらWPFでもformsでも何でもよくない?
2020/05/17(日) 21:14:15.85ID:xmDbof2g0
>>733
VisualStudio使ってないの?
736デフォルトの名無しさん (ワッチョイ 3f6a-gIXh)
垢版 |
2020/05/17(日) 21:50:04.36ID:jYDn0xup0
>>732
SourceTree仕事でもメッチャ使ってる
でもAtlasianのアカウント作れって言われるようになって面倒
最近は Git Extensions のUIも頑張ってるからそっちに乗り換えようかとおもってる
2020/05/17(日) 22:13:04.12ID:Cxm54tO20
VS以外だとTortoiseGit使ってるわ
2020/05/17(日) 22:34:53.36ID:VAj0yrtz0
Visual Studio CodeとCLIで大体の作業は事足りるしなあ
2020/05/17(日) 23:11:20.91ID:wfhyoR0J0
>>736
アレさ
フォルダの中のファイル変えるじゃん
現在アクティブなブランチはフォルダ見ただけじゃわからないし
すべての操作が気軽にしてはいけないくせに右クリックのメニューとか
ドラッグ・アンド・ドロップでやらせようとするのがゴミ

操作前に操作後の結果がビジュアル的に見えないといけないツールのくせに
何もしてないし
いらなくね?
普通にtortoiseGitでできる範囲の操作しかしないほうがいい
740デフォルトの名無しさん (ワッチョイ 3f6a-gIXh)
垢版 |
2020/05/17(日) 23:29:14.84ID:jYDn0xup0
>>739
なんの操作のこと言ってるかわかんないけど何でも楽にできていいけどなあ
間違えたら元に戻せばいいだけだし
そんなに間違えないし
2020/05/17(日) 23:43:05.81ID:wfhyoR0J0
>>740
いいや、この手のツールはデータのミスには強いけど
操作のミスには甘くないよ
2020/05/17(日) 23:53:55.80ID:wfhyoR0J0
ツールの故障もダメ
コミット失敗してもロールバックしてくれないぞ
743デフォルトの名無しさん (ワッチョイ 3f6a-gIXh)
垢版 |
2020/05/18(月) 00:04:19.65ID:g/ITMYKi0
コミット失敗の意味がわからん
間違いコミットなんか別に問題ないし戻りたければ戻れるだろ
pushしてからミスに気付いたのは面倒だけど
それはツールかどうか関係ないしな
2020/05/18(月) 00:05:50.73ID:flcUkeyx0
>>742
コミットミスがどの操作でどの範囲のミスか知らんけど、sourcetreeなら自分でロールバックできるじゃん
2020/05/18(月) 00:14:15.65ID:ZhbDs7dG0
その昔VSSという、格納したファイルが
ロストするというとんでもないバージョン管理システムとか

文書が消滅する文書管理システムとかあってなw
746デフォルトの名無しさん (ワッチョイ 178e-LqUT)
垢版 |
2020/05/18(月) 01:35:24.95ID:gGxx/ysn0
>>745
SQLServerのデータだから何とでもなるだろ
サーバのバックアップも取っていなかったアホの類い?
2020/05/18(月) 02:00:15.97ID:Js/sWW350
>>744
つい最近やったばっかりだけど
何やってもエラー出るようになって動かなくなったよ
もっともGitが悪いのかSourcetreeが悪いのか切り分けしてないけど
2020/05/18(月) 02:01:08.98ID:Js/sWW350
>>744
通信異常だっていってるじゃん
749デフォルトの名無しさん (ワッチョイ 4d1d-RHMD)
垢版 |
2020/05/18(月) 02:16:56.43ID:dAzYDVZg0
未経験から半年でフリーエンジニアになれる人の特徴
https://www.youtube.com/watch?v=YCxu0jn52Qw
フリーランスか会社員かどっちが簡単かについての最終回答
https://www.youtube.com/watch?v=JA4JNSmIdxI
【エンジニア】正社員/派遣社員/フリーランスのメリット・デメリットについて
https://www.youtube.com/watch?v=fTG-eMpwhCg
月収1000万円オンラインサロンオーナーの日常【飲み過ぎ】
https://www.youtube.com/watch?v=lPfWZLatYus&;t=107s
借金400万円から人生逆転するまでの軌跡
https://www.youtube.com/watch?v=fXdHlFFUjGY
2020/05/18(月) 02:54:46.58ID:QOM8mByz0
>>749
スレチ グロ
2020/05/18(月) 07:21:22.24ID:ZhbDs7dG0
>>746
馬鹿は知ったかぶりすんな
2020/05/18(月) 09:32:08.05ID:vuzvZUyca
ループ中にList<string>へAddして追加していった文字列があります
Listの中身は仮にABCD, ABCD, EFGH, IJKL, IJKL, IJKLとします
これを集計してMessageBox.Showにて下記のように出力したいのですがどのような方法がありますか?
---------------
ABCD 2件
EFGH 1件
IJKL 3件
---------------

集計部分の方法について教えていただきたいです
二重ループにてひとつずつカウントするのは思いつくのですがもっと無駄の無い方法があるのではないかと質問させていただきました
ループの回数、Addされる文字列は決まっていないためListに格納してみました
ループ1回の中で条件に合致するとListへAddします(1回のループで追加なし or 1回だけAddの必ずどちらかです)
質問の前提条件が足りませんでしたら指摘お願いします
よろしくお願いします
2020/05/18(月) 09:37:16.62ID:pauZM8r90
Dictionary<string, int>
でよくね?
2020/05/18(月) 09:47:52.23ID:OpjsybgA0
Addするときについでに数えるならDictionary<stirng, int>
完成したList<string>を数えるならGroupBy()をそれぞれCount()
2020/05/18(月) 10:12:42.88ID:W1RwdSEUa
そういうのは集計対象データがDBに入ってるケースが殆どだから、最初からSQLでやっちゃうのが一番スマート
2020/05/18(月) 10:54:25.11ID:vuzvZUyca
>>753-755
ありがとうございます

>>753,754
Dictionaryを使う場合、stringに文字列、intに件数
追加する際にContainsKeyで重複確認
存在しなければ[ABCD, 1]で追加、存在すればintを+1
こんな感じでしょうか?

>>754
ListでGroupBy()、Count()を使用したい場合、List追加時に
{ no = 1, name = "A", grade = 3 }のような形式で追加する必要があると思っているのですが
単純なList.Add(str)でもGroupBy()等が使えるのでしょうか?
ググった中では上記の例しか見つけられずここに質問に参りました

>>755
SQLなら良かったんですが、テキストファイルをDB取込用に変換する時点のお話なんです…
2020/05/18(月) 11:32:45.53ID:JFOczdfW0
>>756
こんな感じでいけるんでね?
var result = list.GroupBy(x => x)
 .Select(x => new { Name = x.Key, Count = x.Count() });
2020/05/18(月) 12:26:33.79ID:vuzvZUyca
>>757
いけました!!!
実現したいことができそうです!
ありがとうございました!
2020/05/18(月) 12:47:51.68ID:p81iujaQ0
>>757
Selectいる?
2020/05/18(月) 13:58:26.81ID:MslK9QoT0
Ruby なら、

ary = %w(あ 12 x 12 あ 12)
p ary.group_by( &:itself ).transform_values( &:size )

出力
{"あ"=>2, "12"=>3, "x"=>1}
2020/05/18(月) 14:32:21.18ID:JFOczdfW0
>>759
無しでも書けるか

var groups = list.GroupBy(x => x);
foreach (var g in groups)
{
 Console.WriteLine("{0} {1}件", g.Key, g.Count());
}
2020/05/18(月) 15:54:33.15ID:MslK9QoT0
Ruby なら、x => x
などのラムダ式も、

&:itself などのメソッド名を渡すだけで良い
2020/05/18(月) 22:54:28.02ID:/IMIPkUF0
>>762
Sapphireならどう出る?
2020/05/18(月) 23:51:04.74ID:TSImRkOU0
>>761
ごめん素朴な疑問なんだけど、そのCount()の使い方だと、イテレータの評価が毎回全周するわけにはならんのん?
2020/05/19(火) 00:00:16.03ID:QbrDO9YB0
ならないよ
GroupByでキャッシュされる
2020/05/19(火) 00:32:37.22ID:1Pn0Xhkl0
キャッシュ?
2020/05/19(火) 00:46:42.98ID:7LUV0pB00
寝ぼけてたらすまない。

>>764 の「毎回全周」ってどういう状態?
2020/05/19(火) 00:51:43.48ID:QbrDO9YB0
とりあえず自分はCount()のたびに
list.GetEnuemrable().GetEnumerator()が呼び出されることと受け取った
2020/05/19(火) 00:53:42.34ID:QbrDO9YB0
あ違う
Count()のたびにlist.GetEnumerator()からの列挙が、だな
2020/05/19(火) 01:21:07.22ID:1Pn0Xhkl0
var groups = list.GroupBy(x => x); のgroupsはIEnumerable<IGrouping<string, string>>
foreach (var g in groups) のgはIGrouping<string, string>
IGrouping<T>に対するCount()はEnumerable.Count()が呼ばれる

IGrouping<T>にICollection<T>やICollectionは実装されてないから
Enumerable.Count()が呼ばれるとGetEnumerator()使って数えるんじゃないかな
(各グループごとにグループ内の要素数分だけMoveNext()が呼ばれるイメージ)
2020/05/19(火) 01:36:28.09ID:1Pn0Xhkl0
試してみたらg as ICollection<string>で変換できたので
Count()はGetEnumeratorされてなさそう
2020/05/19(火) 01:50:25.74ID:PNm9d/ci0
await Task.Factory.StartNew(
() => {
for (int i = 0; i < imageList.Count; i++)
{
Clipboard.SetImage(imageList[i]);
}
},
CancellationToken.None,
TaskCreationOptions.None,
TaskScheduler.FromCurrentSynchronizationContext()
);

こんな感じで画像のリストを1つ1つクリップボードにコピーさせていくのですが
タスクでSTAスレッドで処理をするとUIのメインスレッドがフリーズするのですがフリーズ回避はどうしたらいいですか?
2020/05/19(火) 02:02:02.85ID:Gmm+b2VzM
単に Clipboard.SetImage(imageList.Last()) にすればいい
等価だ
2020/05/19(火) 08:52:42.15ID:NuzKkPrj0
クリップボードみたいなユーザーよりの機能は、
バックグラウンドスレッドから、アクセスできるかな?

ひょっとしたら、UI(メイン)スレッドからしか、アクセスできないかも?
2020/05/19(火) 09:39:08.13ID:uON0wt840
>>770
764だけどなるほど、ありがとう
2020/05/19(火) 17:49:11.24ID:+0P+K8Fq0
>>772
STAスレッド(Formのスレッド?)で処理していたらUIの更新が行えないので
正しい動作かな
ClipboardクラスはSTAでしか動かないってなっているので、asyncメソッドでtaskを
実行してdelegate経由のinvokeで呼び出すんじゃないかな
777デフォルトの名無しさん (ワッチョイ 4d1d-ucyj)
垢版 |
2020/05/19(火) 18:20:34.86ID:8HY/3oGP0
SIer業界がブラックな理由を解説する。エンジニアは自社開発をしているWeb業界がオススメ!
https://www.youtube.com/watch?v=iy4nnAI9og4
エンジニアの仕事が稼げる理由とは?プログラミングスキルと
仕事の需要は比例しないので、実は技術力が低くても稼ぐことができる!
https://www.youtube.com/watch?v=82Bs-NH8jAM
通勤時間が長い人ほど無能説。家賃節約とか言っている暇があったら、
会社の近くに引っ越して浮いた時間に副業したほうがお金も貯まるし強くなれる。
https://www.youtube.com/watch?v=mt6K1RJnk6I
プログラミングに英語は必要か?に対する明確な答え
https://www.youtube.com/watch?v=WWULJbVECKU
私がヤフーを辞めた理由
https://www.youtube.com/watch?v=-G-7Hc3rJw8
【業界研究】IT業界でひと括りにするのは危険。SIer、Web制作、
アプリ開発で仕事内容が全く違います。【就活・転職】
https://www.youtube.com/watch?v=_IJQ2iBkf4w
778デフォルトの名無しさん (ワッチョイ ebfd-4TjA)
垢版 |
2020/05/19(火) 18:32:12.04ID:mepgGg800
vb.netとc#の大きな違いってなんでしょうか
仕事で後者を触らないといけないんですが
779デフォルトの名無しさん (アウアウエー Sa93-ahgx)
垢版 |
2020/05/19(火) 18:34:15.56ID:h69Ba80Ra
vb.net うれしくない
C# どちらでもない
780デフォルトの名無しさん (ワッチョイ 17f1-8kLo)
垢版 |
2020/05/19(火) 18:49:46.90ID:DkycvRhf0
>>777
ハゲとるやないか
2020/05/19(火) 19:07:11.03ID:klHbQUiE0
>>778
開発終了と開発続行
2020/05/19(火) 19:56:29.83ID:FEuqCu/Yr
そんなに大きく違いますか?
文法書見てる感じではそこまで大きな差はないなかな、と思ったりしてますが
2020/05/19(火) 20:07:13.61ID:T11FGKSX0
>>782
どっちも.NETベースだから基本は大して変わらんけどC#のほうが長続きしてるのでVB.NETにない新しい言語機能がいろいろある
2020/05/19(火) 20:40:43.92ID:a0TVrn2w0
>>782
リソースが段違い
785デフォルトの名無しさん (アウアウウー Sa31-L7FI)
垢版 |
2020/05/19(火) 20:48:48.06ID:Hcak2SNoa
>>782
あんまり意味のある質問に思えないんだけどw
2020/05/19(火) 20:49:42.54ID:jcXcpHtca
>>782
言語仕様はほぼ一緒なんだけど使い手のレベルとか文化とかに雲泥の差が
控えめに言ってVBしかできないような人は20世紀から取り残されたゴミみたいな開発者が大半
BASICの歴史的な経緯からくる負の遺産、いままでに蓄積されたクソコードもてんこ盛り
VBに関わるとダメプログラマに転落するぞ

といいつつC#でも下手するとVS2005〜2008位で時間が止まったままの案件も結構あるけどな
そういう現場にどっぷり漬かるとVBでもC#でもダメエンジニアへの道まっしぐらだ
787デフォルトの名無しさん (ブーイモ MM81-DBEz)
垢版 |
2020/05/19(火) 20:55:05.94ID:1ZWHWWZ0M
っていうか言語で出来ることが変わるとか制限あるのがおかしい
日本語の「ツンデレ」を訳せる言語が無いとかそういうレベルと違う
2020/05/19(火) 20:57:59.68ID:HSamcFUd0
VBはちょっと。。
言語もだけど、書く人の頭が古いからコードまで至るところで古さを感じる
多重for、ifとかそんなレベルで
VB現役でやってる人でもすごい人はいるんだろうけど、稀有やろなあ
2020/05/19(火) 21:07:44.17ID:+YYtOpaV0
VBの言語仕様はラムダ式とかクロージャと相性が悪い
2020/05/19(火) 21:11:51.54ID:nVxChFQF0
C# と VB.NET、同じコード書いても IL レベルで見るとVB.NET側にゴミが付くんだよな
2020/05/19(火) 21:23:56.06ID:u8EJQdwC0
C#とVB.NETどっちも選べる状態でVB.NET選んでる人やプロジェクトってどれくらいあるんかな?
792デフォルトの名無しさん (ワッチョイ d390-6tiU)
垢版 |
2020/05/19(火) 22:18:57.18ID:KmzCw2hp0
数年前に作られたVB.NETのWebシステム知ってる
オフショアで作らせたら動く粗大ゴミが誕生したと聞いた
詳しくは知らんが
2020/05/20(水) 06:51:50.32ID:AQWueC8Ga
自分が作ってるツールはexcel操作する場合
いつもvb.netで書いてしまうわ
2020/05/20(水) 07:03:39.27ID:lHd0Mfby0
VBはC#より稀に先進的な記述方法がある
行末に;要らないとか
つかC#もそうして欲しい
簡単だろ
795デフォルトの名無しさん (アウアウウー Sac7-tPY3)
垢版 |
2020/05/20(水) 07:05:09.78ID:QEwx4hM4a
C#で書いてると、たまにVB使うとエンターキーの違いでイラっとくるわ
2020/05/20(水) 07:11:31.80ID:lHd0Mfby0
VBに限っては改修業務が良い
新規でVBとか考えたくない
797デフォルトの名無しさん (ワッチョイ 5bf1-D4L3)
垢版 |
2020/05/20(水) 10:16:35.82ID:qjNDk5Cx0
エンターキーの違いとは?
2020/05/20(水) 12:59:08.46ID:nNq7q5wW0
public Class MyCustomForm : Form
という自作の拡張Formクラスを作り、コンストラクタで色やいくつかのコントロールを配置したものをメインのForm1で継承させ、コンパイルも上手くいき実際の動作も希望通りではあるのですが、
上記のMyCustomFormのコンストラクタ内で追加したコントロールがデザイナで編集することができません。
まるで背景画像かのように選択すら出来ないものや、選択こそ出来てもAutoSizeやLocationなどの項目が灰色掛かって編集不可能になっていたりします。

InitializeComponent()以外で追加したコントロールをデザイナ上で操作することは不可能なのでしょうか?
2020/05/20(水) 13:29:58.53ID:ABO4MomS0
VBで作ったシステムをVB.NETに移植しようとしたが
あまりも超絶スパゲッティだったのでほぐしたら
最終的にコード量が1/4になった事がある
2020/05/20(水) 13:51:44.57ID:AVjmh1IR0
VB6で長年熟成された秘伝のソースをぽっと出のVB.netごときで再現できるわけがない
2020/05/20(水) 14:39:55.33ID:JM16LRl0r
https://pc.watch.impress.co.jp/docs/news/1253193.html
Microsoft、Win32とUWPの2つのAPIを再統合する「Project Reunion」
2020/05/20(水) 14:41:38.06ID:mXqWoGfUa
VBのツールいまだに動くからリプレイスする意味ない
放置が安全
803デフォルトの名無しさん (ワッチョイ 8b01-oW4g)
垢版 |
2020/05/20(水) 16:24:15.65ID:wnqJe1lz0
プロジェクト・リュニオン!
ゴー!リュニオン!
2020/05/20(水) 16:27:54.60ID:kLEW4Vt90
>>801
眩暈がして来た
805デフォルトの名無しさん (アウアウウー Sac7-lIs9)
垢版 |
2020/05/20(水) 18:05:51.93ID:e2MEnn77a
要するに5年ぐらい前に言ってたはずの「Win32を全廃してUWPで一本化する」計画は
諦めたってこと?

まああの話も一瞬出ただけでその後まったく聞かなくなってたけど

>>798
アクセスレベルがprivateになってるとかではなくて?
っていうか、もしコントロールをユーザーコードで追加している場合だけ起こる(デザイナで追加した場合は起こらない)
問題だと分かっているなら変なこだわりを捨てればよいだけなのでは?


まあバグでプロパティがいじれないコントロールも一部あるらしい
https://teratail.com/questions/236012
2020/05/20(水) 18:40:47.31ID:t37lmoTKr
デザイナはわりと属性見てるので、その辺ちゃんとやっとかないとうまくいかないことがある
807デフォルトの名無しさん (ワッチョイ 9763-xLuj)
垢版 |
2020/05/20(水) 19:08:47.13ID:2OJQAkVy0
リユニオンとか真っ黒になりそう
808デフォルトの名無しさん (ワッチョイ 8b01-oW4g)
垢版 |
2020/05/20(水) 20:43:28.09ID:wnqJe1lz0
トレイン変形!ゴー!リュニオン!
2020/05/21(木) 04:25:59.16ID:ShhpHDma0
winフォームアプリなのですが、Form1上のtextBox1に他クラスからアクセスしたい時って
Form1.Designer.csの下の方にあるフィールドをpublicに変えるのはよくない例ですか?

Form1のコンストラクタで自分自身を当該他クラスに引き渡す処理は済んでいます

Form1で、textBox1.TEXTをプロパティにして
他クラスからアクセスする方法も考えたんですけど、
じゃ、テキストボックスじゃなくてリストビューとかだとどうするんだとか考えたら
めんどくさいからもうpublicでいいんじゃないかとか思っちゃうんですけど
ベテランの皆さんはどうしてるんでしょうか
2020/05/21(木) 04:48:51.98ID:KUTx9pVe0
だめ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況