[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 05/30 10:09 / Filesize : 144 KB / Number-of Response : 598
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2014/04/05(土) 22:08:28.72 ID:l3iN8hNI]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問。
質問者自身なんだか意味がよく分からない質問。
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっとVisual C#,C♯,C#(初心者用) Part110
toro.2ch.net/test/read.cgi/tech/1388377636/

■関連スレ
C#, C♯, C#相談室 Part82
toro.2ch.net/test/read.cgi/tech/1386763696/

■コード貼るなら↓使ってください
ideone.com/

75 名前:デフォルトの名無しさん mailto:sage [2014/04/16(水) 20:40:31.81 ID:jh5A/a7z]
>>72
Form.SizeとClient.Sizeの違いとか

76 名前:デフォルトの名無しさん mailto:sage [2014/04/16(水) 20:41:11.58 ID:jh5A/a7z]
既出だったなごめんなさい

77 名前:デフォルトの名無しさん mailto:sage [2014/04/16(水) 22:27:57.36 ID:+VUax7lD]
マイコンピュータの一覧って事はマイコンピュータが複数あると
いう謎環境なのか

78 名前:デフォルトの名無しさん mailto:sage [2014/04/16(水) 23:02:59.71 ID:4/4/+OZx]
分かる人いなさそうだね残念

79 名前:デフォルトの名無しさん mailto:sage [2014/04/16(水) 23:07:45.45 ID:+VhpgL3Y]
ドライブの一覧とは違う情報を取りたいの?
それならたぶん、API叩かないといけない

80 名前:デフォルトの名無しさん mailto:sage [2014/04/16(水) 23:17:51.65 ID:4/4/+OZx]
>>79
散々ググった結果ShellAPIを使えば出来るんじゃないかなというのは分かったんだけど
難しくて何かいい方法あったりしないかなと思って質問したんだよね

自分で試行錯誤してみますありがとう

81 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 00:30:58.60 ID:yVkbU7bN]
WMIでいけないか?

82 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 10:16:41.51 ID:3ZJR1sBx]
ここみるよろし
msdn.microsoft.com/ja-jp/magazine/dd861346.aspx

SHGetKnownFolderItemでマイコンピューターを表現するIShellItem取得

IShellItem.BindToHandlerでそのIShellFolderを取得

IShellFolder.EnumObjectsでIEnumIDList取得して、IEnumIDListで内容を列挙

83 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 10:52:57.28 ID:s16FfDLr]
NumericUpDownでHexaDecimal=trueにして
小文字のアルファベットを入力中にタイマーなどでその値を取得すると
小文字が大文字に変換されます。

そこまでは良いのですが、同時にカーソルがいちばん左に移動してしまいます。
するとabcdと打ったつもりが、DCBAとなってしまいます。

小文字が大文字に変換されたときにカーソルを移動しないようにするには
どうすれば良いですか?

何かをオーバーライドすれば良いのでしょうか?



84 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 11:23:17.40 ID:CRM5LnHb]
助けてください。

弥○なんかの販売管理ソフトで、伝票入力画面の下部にあるリスト部分って
入力すると自動的に(しかも複数テキストボックス&複数行)追加されますが、
ああいう動作を実現するにはどのコントロールを使えばいいんですか?

85 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 11:25:43.70 ID:CRM5LnHb]
>>84 の言語書き忘れました。C#です。

86 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 11:25:58.93 ID:gmrG8BhO]
標準コントロールには存在しない

87 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 11:31:42.82 ID:CRM5LnHb]
FlowLayoutPanelとかTableLayoutPanelを駆使して、
その中にTextBox配置して、みたいな感じで方向性はあってますかね?

この方法をやろうとして数時間躓いてます。

88 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 11:44:30.79 ID:CRM5LnHb]
>>86
自己解決というか、レスをもらったことで少し理解しました。
こういうのを実現するライブラリが販売されてたんですね。
導入を検討しようと思います。
ありがとうございました。

89 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 12:09:39.88 ID:cV35zYaX]
>>81-82
ありがとう参考にします

90 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 13:07:07.79 ID:umXeCPzC]
>>87
複数テキストボックスをユーザーコントロールにまとめてやればFlowLayout案でも簡単だと思う

91 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 13:27:22.33 ID:TvKM2fdI]
>>84
Visual Basic Power PacksのDataRepeater コントロールはどうだろう

92 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 19:52:18.24 ID:WDbWaLnY]
//コマンドラインを配列で取得する
string[] cmds;
cmds = System.Environment.GetCommandLineArgs();
dobon.net/vb/dotnet/programing/commandline.html

フォームとコマンドプロンプトの両方で使えるようにしたいのですが、
フォームは正常に動作して、コマンドプロンプトの時で容量もほとんど使わないのにメモリ不足って出るのは、下のが原因と考えて良いのでしょうか?

大容量の RAM が搭載されていると、メモリ不足を示すエラー メッセージが表示される
support.microsoft.com/kb/253912/ja

93 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 20:14:05.96 ID:3ZJR1sBx]
Windows2000以降のコマンドプロンプトの話なら関係ないだろ

他の部分にバグがあるんだろ
ミニマムコードで試してみそ



94 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 20:51:33.80 ID:BiFRjuqF]
www.nicovideo.jp/watch/nm6049209
この動画を落としたswfファイルをフォームに貼り付けた
Shockwave Flash Objectで再生できないのはなぜなのでしょうか?
コードはこんな感じです。
axShockwaveFlash1.LoadMovie(0, @"f:\test.swf");
axShockwaveFlash1.Play();

95 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 21:09:02.94 ID:WDbWaLnY]
>>93
ありがとう。
System.IO.Path.GetDirectoryName(strCmd[0]);
で、コマンドプロンプトだとフォルダ名が取得出来無かったから、C:\に書き込もうとしてエラーになってた。

96 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 21:20:50.59 ID:umXeCPzC]
それがなぜメモリ不足になるんだ?

97 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 21:36:04.77 ID:WDbWaLnY]
最初に中の処理だけ外したらメモリ不足ってエラーが出たから、これだと思い込んでた・・・。
あとはコントロール配列にしてたくらいだけど、
イベントの追加とかはコマンドプロンプトでは関係ないからメモリ不足の表示って出る物かな?

98 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 21:44:36.61 ID:N1Srpcxj]
まず、エラーってなんのこと?
例外がでるんなら、どの位置ででてるかわかるだろ

99 名前:デフォルトの名無しさん mailto:sage [2014/04/18(金) 06:55:54.45 ID:gGWuEQS3]
なぜメモリ不足になる、で思い出したが、Image.FromFileで
ファイルのイメージ形式が有効ではありません。
または
GDI+ はファイルのピクセル形式をサポートしません。
の場合、OutOfMemoryExceptionが発生する
ってのも意味不明
msdn.microsoft.com/ja-jp/library/stf701f5%28v=vs.110%29.aspx

100 名前:デフォルトの名無しさん mailto:sage [2014/04/18(金) 07:23:17.77 ID:xhIZwZfQ]
それはGDI+がE_OUTOFMEMORY返してくるから

101 名前:デフォルトの名無しさん mailto:sage [2014/04/18(金) 07:54:35.47 ID:gGWuEQS3]
誤解させてすまん
根っこが意味不明なだけでそれは知ってる

102 名前:デフォルトの名無しさん [2014/04/18(金) 08:18:16.94 ID:5ZSBe340]
そりゃメッセージの通りでGDI+で読み込めない形式のファイルを読もうとしたんだろ
WPFのImaging APIを試してみては

103 名前:デフォルトの名無しさん mailto:sage [2014/04/18(金) 09:34:42.55 ID:2myBQDOJ]
>>90
ありがとうございます。
実は、なんとかFlowLayoutで実現できちゃいました。かなりめんどくさかったですが。
でもユーザーコントロールって知らなかったので、一つ賢くなりました。
たしかにこれを使った方が簡単そうな気がします。
試してみますね。



104 名前:デフォルトの名無しさん mailto:sage [2014/04/18(金) 13:52:00.58 ID:VeXCOOSA]
>>99
イメージサイズの算出に関わる部分のヘッダが壊れてて異常値を返すんじゃね

105 名前:デフォルトの名無しさん mailto:sage [2014/04/18(金) 16:32:12.19 ID:OieI8ueO]
モニタの最大解像度が変わると、フォームのサイズはそのままでコントロールのサイズだけ変わってしまいます。
AutoScaleはFalse、AnchorはTop,Leftになっているのですが、
他に止める為に確認するところはありますでしょうか?

106 名前:デフォルトの名無しさん mailto:sage [2014/04/18(金) 18:20:17.89 ID:nOqcQsid]
>>105
言ってる事がよくわからんがAnchorをTop left Right Bottomにしてみ

107 名前:デフォルトの名無しさん mailto:sage [2014/04/18(金) 19:19:21.02 ID:VWFZLBWt]
今のモニタって最大解像度を変更できるのか
なにそれECOモード?w

冗談はさておき、何言ってるか分からないからコード晒してくれ

108 名前:デフォルトの名無しさん mailto:sage [2014/04/18(金) 20:20:03.91 ID:xLsMteBI]
DPIのことかな

109 名前:デフォルトの名無しさん mailto:sage [2014/04/18(金) 20:20:30.41 ID:RJoHb8Nd]
DPIの話かな?

110 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 08:56:53.25 ID:F+1f3Ibj]
なんで未だにUI単位系mmにしないんだろう?

111 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 12:44:18.87 ID:wssCKxB6]
そりゃ物理的なDPIが違っても同じ表示にするためだろ
40型FHDと24型FHDとかな

112 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 13:16:35.70 ID:F+1f3Ibj]
DPmmって言いにくいから。
はい、次の方〜

113 名前:デフォルトの名無しさん [2014/04/19(土) 14:45:37.73 ID:FZlACFeu]
下のような配列とListを用意して

var sourceList = new string[] { "a", "a", "b", "c", "a", "b", "c" };
var outList = new List<string[]>();

sourceList の文字列"a"と"b"だけを
下のような感じでoutList に格納したいです。
{ "a", "a", "b", "a", "b" }

for文で地道に検索すれば実現できるのですが、
配列のデータが大きくなると、
配列のインデックスを0から全て突き合わせるので、
結構遅くなっていきます。

何かスマートなやり方はあるでしょうか?



114 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 14:56:23.05 ID:nSzj8sir]
for文使って要素の方がstring[]?
どうせArray.Resizeとか乱射してるんじゃないの?

115 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 15:16:43.12 ID:wssCKxB6]
パフォーマンス問題でサンプルコード貼らないのはなんなの?
一度たりともコーディングでミスしたことがない人なの?

116 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 15:19:34.36 ID:FN+T31Li]
今時のPCで速度が問題になるような処理だと思いにくいし、ベタにやる以上に効率的な
処理があるとも思えんよな。

強いて言えば、(ほとんどありえないシナリオだけど)文字列の比較を参照の比較で
代替して問題がなければかなり効率があがるような気が

117 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 15:49:38.35 ID:CsG29AJe]
>>116
string.Intern使ってやってみたよ
aからzの繰り返し、5000万件のstring[]から、aとbをList<string>へ抽出
配列からリストを作る部分で、Intern250ms、ベタなのは800ms
Internは配列作るのが遅く全体ではベタの方が速かった
ちなみにインターンプールの解放タイミングよく分からないから勧められない
パラレルも試したが(Listの同期のせいで?)2000ms

118 名前:デフォルトの名無しさん [2014/04/19(土) 16:45:21.85 ID:eQm7EaOg]
並列化処理の手段がいくつもあって理解が追いつきません。

A new Thread( new ThreadStart()):基本的な並列化
B ThreadPool.QueueUserWorkItem():スレッドプールを利用した並列化
C Task.Factory.StartNew():スレッドプールを利用した並列化
D Parallel.Invoke():スレッドプールを利用した並列化。引数としてメソッドを複数入れられる

A以外は常にバックグラウンドスレッド?
どの方法でもAutoResetEventでの待機・再開は利用できるが、A以外ではabort()での強制停止ができず、CancellationTokeを使う必要がある。
以上の理解で合っていますか?
他にも気を付けるべき特徴があれば教えてください。

119 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 16:48:21.98 ID:nSzj8sir]
タスクはUIスレッドでも動かせる

120 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 16:50:43.65 ID:mBoNBXfe]
>>118
その中ではっきり並列化を目的としてるのはInvokeだけだ
他は並列化にも使えるというだけ
特にTaskはParallelの対極に位置するもので、並列化というより非同期処理に使う

121 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 17:05:43.85 ID:mBoNBXfe]
Parallelは呼び出し元をブロックして枝分かれして全部終わったら合流して再開するという
典型的な並列処理のパターン(いわゆるfork-join)に特化してる。
Taskはタスクベースプログラミングといって、ひとまとまりの手続きを纏めて非同期に実行していくパターンで、スレッドを使うとは限らない。
あとの2つは低レベルな制御を必要とする場合以外は必要ない(自分でこういう枠組みを作るときとか)

122 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 17:08:03.94 ID:wssCKxB6]
abortを忘れろ
使うなと書いてあるだろ

123 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 17:14:46.82 ID:z8Jb6CLl]
誰に言ってるんだよこの命令口調バカw
頭おかしいんじゃねえの本当



124 名前:デフォルトの名無しさん [2014/04/19(土) 18:29:26.35 ID:2PY1bkDd]
>>113
これまさに、LINQの出番じゃね?望むパフォーマンスが出るかわからないけど。

125 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 18:35:31.19 ID:eQm7EaOg]
基本はTaskとParallelでいいんですね。
>>122
MSDNでSuspendやResumeは非推奨でしたが、abortもそうなのですか?
あくまで非常停止として使うべきで、基本はスレッド内で終了させた方がいいというようなことは見かけましたが。

126 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 19:17:41.81 ID:WYLdWJWU]
普通に考えて強制終了にリスクがないはずがないし、外部から終了させることが可能なスレッドを
あえて強制終了する意味があるはずがないと思うんだけど...

abortなんて、稀にデッドロックするバグがあるアンマネージドなライブラリの関数を
呼び出す時以外に使ったことないよ俺は。

127 名前:デフォルトの名無しさん [2014/04/19(土) 19:35:06.62 ID:GVfgk0hH]
小保方貼子ファンクラブ
anago.2ch.net/test/read.cgi/actress/1397313324/

128 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 19:40:06.51 ID:lky2D+JG]
>>124
普通はLINQ使うかな。データ数が多いならベタに書くが
ttp://ideone.com/6rwuVD

129 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 21:28:01.14 ID:+cER51WV]
>>123
死ねよ

130 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 21:28:45.04 ID:+cER51WV]
パフォーマンス求めてLINQを使うわけじゃないっしょ

131 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 22:26:39.08 ID:F+1f3Ibj]
>>129香典くれ

132 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 22:44:30.17 ID:mBoNBXfe]
もしサンプル通り一文字だけなんだったらcharにすれば爆速よ
一文字でなく最大でも数文字程度なら固定長で一つのchar配列に全部並べてもいい
メモリアクセスの効率が大幅に改善される
ビチクソ汚いから本当に本当に速度が必要な場合の最終手段な

133 名前:デフォルトの名無しさん mailto:sage [2014/04/20(日) 15:52:05.98 ID:uC0F2C8m]
>>116,117,124,128,132
おいみんな>>113をよく見ろ
>>114は気付いていたみたいだが、outListの型はList<string[]>だぞ
どうやら、みんなの考えた方法では113の要求している仕様に合っていないみたいだw



134 名前:デフォルトの名無しさん mailto:sage [2014/04/20(日) 16:01:27.98 ID:ylaqUWX4]
何をどうよく見ろなのかさっぱり分かりませんがw

135 名前:デフォルトの名無しさん mailto:sage [2014/04/20(日) 16:29:48.16 ID:zk/lLqrY]
>>118なんですが、
Threadを利用した場合は、スレッドの状態の確認としてThreadStateが利用できました。
Taskを利用した場合は、独自に変数を設定してスレッドの状態を確認するのでしょうか?
スレッドが起動中かどうかを示す変数、スレッドが終了したかどうかを示す変数など。

136 名前:デフォルトの名無しさん mailto:sage [2014/04/20(日) 17:17:05.16 ID:ow3IcQU9]
Threadなんか気にせずにTaskのプロパティを確認するべきだし、
どうしてもThreadの状態を知りたいならThread.CurrentThreadを見ればいい

137 名前:デフォルトの名無しさん mailto:sage [2014/04/20(日) 19:42:31.74 ID:zk/lLqrY]
ThreadStatusと同じようにTaskStatusがあるんですね。
どうもありがとうございました。

138 名前:デフォルトの名無しさん mailto:sage [2014/04/21(月) 17:28:24.12 ID:ymTJYPUR]
VS2013でOpenCVをやろうと思って
whoopsidaisies.hatenablog.com/entry/2013/10/25/005953
ここを参考にしてこのように書いて(写して)コンパイルはできたのですが
ideone.com/ITS6Ms
var img = OpenCV.Net.CV.LoadImage(@"C:\test\test.jpg", OpenCV.Net.LoadImageFlags.AnyColor);
の所で以下のような例外が出ました

型 'System.TypeInitializationException' の初回例外が OpenCV.Net.dll で発生しました
追加情報:'OpenCV.Net.Native.NativeMethods' のタイプ初期化子が例外をスローしました。

画像はC:\test\test.jpgにあります
どうすればいいですか?

139 名前:デフォルトの名無しさん mailto:sage [2014/04/21(月) 17:33:38.20 ID:y0NArLUJ]
opencvのdllがみつからないんだろ

140 名前:デフォルトの名無しさん mailto:sage [2014/04/21(月) 17:40:48.58 ID:usiNmkk/]
>2013/12/15にOpenCvSharpにも使いやすいNuGetパッケージが公開された.この記事で紹介するOpenCV.NetよりもOpenCvSharpのほうがおすすめ

冒頭でOpenCvSharpを勧めてるのに、なんでOpenCV.Netを使ってるのか

141 名前:デフォルトの名無しさん mailto:sage [2014/04/21(月) 19:11:53.17 ID:S3aB0oZF]
NuGetとかいうケッタイなものは使いたくないのです

142 名前:デフォルトの名無しさん mailto:sage [2014/04/21(月) 19:52:37.79 ID:KEGmYWwQ]
エビナゲットって最近見ないな

143 名前:デフォルトの名無しさん mailto:sage [2014/04/21(月) 22:23:30.19 ID:oS0xRoz1]
プロジェクトやソリューションを管理するためのライブラリってありますか?
ExcelみたいにVSのプログラムを作りたいんですが



144 名前:デフォルトの名無しさん mailto:sage [2014/04/21(月) 23:11:54.98 ID:d3T4wTxV]
今のVSはCOMインターフェイスが廃止されたからExcelのオートメーションと同じことはできない
VSの拡張機能として作れば同じようなことはできるが、VSのプロジェクトってMSBuildに入力するための単なるXMLファイルなのでわざわざVSを動かすまでもない
MSBuildのスキーマだけ持ってきてそれに従ってXMLを吐くのは簡単だし
必要ならMSBuildのAPIも使える

145 名前:デフォルトの名無しさん mailto:sage [2014/04/21(月) 23:24:42.06 ID:d3T4wTxV]
念のため言っておくがcsprojはxlsxみたいな複雑怪奇なフォーマットとは訳が違うぞ
自分でテキストエディタで開いて見てみるのが早いが、ごくシンプルで普通なファイルだ
テンプレートを用意しといて必要なものだけ動的に突っ込む形にすれば簡単に作れる

146 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 13:05:37.13 ID:HFvXP4YQ]
コンボボックスに似たコントロールで右の部分が▼でなく
□で中に...と書いてあるコントロールの名前は何でしょうか?

147 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 13:10:05.49 ID:XBfi1btF]
単にテキストボックスとボタン組み合わせてるだけじゃないの?

148 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 14:40:38.90 ID:UaMCQHcx]
単にテキストボックスとボタン組み合わせてるだけだな

149 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 14:50:16.86 ID:gNtRiMca]
決め付けはよくない

150 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 18:02:04.37 ID:UE2PHjX0]
>>146
どんなやつよ。
ちょっと想像がつかないからコモンコントロールじゃないっぽいが
具体例がほしいな

151 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 19:26:39.75 ID:kADKmax/]
>>150
わからないとか冗談だろ
ファイル名テキストボックスとファイルダイアログ表示ボタンをくっ付けたやつだろjk

152 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 23:22:54.33 ID:kRq+wL8H]
いまVB.netでプログラミングしてるのですが
C#に移行するとどんなメリットがありますか?

153 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 23:27:01.60 ID:COSeIpGW]
アンセーフなコードが書ける
どんどん差がなくなってきてる
最近は真面目にそれぐらいしか差がない



154 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 23:28:38.63 ID:w4l4IAka]
Roslynの登場でさらに差は縮まる
C#,VB.NETの両方読めるようにしとくと情報が見つけやすい

155 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 23:30:33.98 ID:qzRdlrJo]
>>152
C#でプログラミングする必要はないが、C#が読めるようになると世界が広がる
C#が読めれば数々のオープンソースプロジェクトのソースが読めるしJavaも読める
また、一般にWebに転がってるC#の情報はVBより品質が高い
C#に無い機能は即ちVBでも使ってはいけない機能なので、それが分かっていれば実際使うのがVBだとしても高品質なコードが書けるようになる

156 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 23:33:58.18 ID:kADKmax/]
VB.NetはデフォだとVB6時代の悪しき慣習を引き継いでいるからなぁ
フォームのシングルトンインスタンスにクラス名でアクセス出来るのとかまだあるんだっけ?

157 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 23:34:08.54 ID:kRq+wL8H]
ありがとん

158 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 23:34:09.41 ID:COSeIpGW]
大事なことを忘れていた
情報検索がしやすいメリットは大きいね
下手くそなコード書く人が少ないのも助かる

159 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 23:35:12.43 ID:kRq+wL8H]
とりあえずVBと併せてC#もやってみます

160 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 00:41:08.86 ID:3zL5Y6EA]
>>152
結局出来ることはほとんど違わないけど、VBのラムダ式とかジェネリックとか
AddressOf...とかの冗長さにイラっとしてるならそれから解放される。

あと、このスレでもそうだけどVBに偏見持ってる人は少なくないから、
メンタル的にはその辺も大きいねw

161 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 00:45:47.04 ID:JkkhAF2N]
っていうか、コード書いてみて初めて分かる細かい違いは実は結構あるけど、
移行っていうほど大げさなもんじゃない。

VBが普通に書けるなら1週間でC#もスラスラ書けるようになるはず。

162 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 01:02:34.08 ID:Jwmg0nMc]
>>160
偏見じゃなくて公式だ
MS自身がが先陣切ってVBerを馬鹿にしてるからなあ

163 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 01:14:29.84 ID:moWamiRQ]
>>162
公式だから偏見じゃないとはちょっと…

自分もVBからC#に移ったが、情報やサンプルの多さは本当に助かってる
職場ではVBA使うからたまに混乱するが



164 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 01:57:22.43 ID:oEVDmUMc]
>>160
偏見ってたとえば?

165 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 03:45:53.21 ID:L+2rWq+F]
>>164
MS自身がが先陣切ってVBerを馬鹿にしてる とか

166 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 07:03:44.22 ID:aQjOrdcV]
VB.NETは数値計算とか例外処理で旧VBの仕様を引きずっているのでILが汚い
機能が同等だとしてもあえて選ぶ意味は無い

167 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 07:27:58.18 ID:B15hE1J5]
決裁権持ってる奴はいまだにBASIC(とPHP)は学習コストが低いと思ってるから
あるいは元VBerで信仰心があったり

公平な選択なんて有り得ないんですよ
例えそれが自分の首を締めても

168 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 08:23:37.10 ID:x9LZX8vX]
別にできることはたいして変わらないんだから、好きな方使えばええやんか

169 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 08:38:33.73 ID:Wz2QSiNm]
VB使ってると自分の将来が不安になる

170 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 09:30:35.84 ID:oEVDmUMc]
VBはStrConv使える

171 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 10:12:07.52 ID:8Svp1K2C]
偏見持ってるのは一般人も同じじゃね?
VBで作るって言うと遅くなるとかバカにされるけど、C#で作るって言うと安心するとか尊敬される
知らない人ほど「Basicって名前は遅くてCって名前は速い」と思ってるから性質が悪い

172 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 12:43:00.67 ID:To415BTT]
VC#で新しくプロジェクト作ったりしたら
static void Main(string[] args)
{
}
見たいになってるけど、デフォルトで
static void Main(string[] args) {
}
こうするように出来ますか?

173 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 12:54:41.59 ID:Wav400Iz]
VSのメニューの「ツール」→「オプション」→「テキストエディター」→「C#」→「書式設定」→「改行」

少なくともうちのExpressちゃんだと



174 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 13:02:10.40 ID:To415BTT]
>>173
ありがとうございます

175 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 13:14:45.44 ID:HlzGISme]
C#でつくられたDLLを使うときにVBだと
outのやつとかうまく行かない時ある






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<144KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef