トップページ⇒tech
1001コメント282KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2009/06/06(土) 12:30:18
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

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

前スレ

ふらっとC#,C♯,C#(初心者用) Part40
http://pc12.2ch.net/test/read.cgi/tech/1239599317/
0002デフォルトの名無しさん2009/06/06(土) 12:31:32
-----関連スレ

C#, C♯, C#相談室 Part52
http://pc12.2ch.net/test/read.cgi/tech/1238548552/

WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
http://pc11.2ch.net/test/read.cgi/tech/1231506876/

----参考サイト

http://www.google.co.jp/
http://msdn.microsoft.com/ja-jp/library/default.aspx
http://homepage3.nifty.com/midori_no_bike/CS/
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
http://dobon.net/vb/dotnet/
http://jeanne.wankuma.com/tips/
http://www.labasp.net/CsharpNote/
0003デフォルトの名無しさん2009/06/06(土) 14:16:04
乙
0004デフォルトの名無しさん2009/06/06(土) 17:09:29
>>1乙
前スレ埋まりage
0005デフォルトの名無しさん2009/06/06(土) 17:16:24
> >>997
> で,言いたいことは?
VB.NET >>>> C#
0006デフォルトの名無しさん2009/06/06(土) 17:17:10
君にとってはそうかもしれんね
0007デフォルトの名無しさん2009/06/06(土) 17:30:55
>.NET構想における中心的な開発言語であり、XML WebサービスやASP.NETの記述にも使用される。
>他の.NET系の言語でも記述可能だが、生産性・機能においてC#が最も優れるとされる。

Wikipediaだけどこんなこと誰が言ったんだろ
0008デフォルトの名無しさん2009/06/06(土) 17:32:27
ワロス

http://pc12.2ch.net/test/read.cgi/tech/1242522019/129

123 名前:デフォルトの名無しさん[] 投稿日:2009/06/05(金) 20:54:00
VB.NETのオープンソースプロジェクト自体ほとんどないから諦めてC#読めるようになるといいよ
0009デフォルトの名無しさん2009/06/06(土) 17:34:49
>>6
お前大人だな、見習ってスルーするわ
0010デフォルトの名無しさん2009/06/06(土) 19:07:23
作ったはずのUIが見えなくなったのですけど、どこを押せば復活するか教えてください
0011デフォルトの名無しさん2009/06/06(土) 19:18:22
とうごうしっちょうしょう
0012デフォルトの名無しさん2009/06/06(土) 21:33:58
>>10
VS2005かそれ以前ならVS2008を買う、デザイナがバグっとる、結局治らんかった。

>>前997
>C++を使えて、C#を高く評価する輩には、VB.NETも使える輩はいないと仮定する。
何言いたいのか訳わからんがあり得ない仮定だな、.NetのサンプルにVBが多い以上読めないわけにはいかない、特にDB周り。
つか知らなくてもカンで読めるだろ
0013デフォルトの名無しさん2009/06/06(土) 21:41:27
しょうもない釣りなんて放っておきなよ
0014デフォルトの名無しさん2009/06/06(土) 22:05:23
スレの伸びからしてvbよりc#のほうが普及してる気がする。
0015デフォルトの名無しさん2009/06/06(土) 22:14:08
その根拠は?
0016デフォルトの名無しさん2009/06/06(土) 22:17:12
検索のヒット件数からしてvbよりc#のほうが普及してる気がする。
0017デフォルトの名無しさん2009/06/06(土) 22:20:53
現在の北米のプログラミング書籍の売り上げを比べると、
C#がJavaを追い抜いて一番売れているそうだぞ(大体40%くらい)

オレはVB.NET自体がC#の糖衣表現のように感じてるなぁ。
0018デフォルトの名無しさん2009/06/06(土) 22:28:32
気がする。
気がする。
感じてるなぁ。
0019デフォルトの名無しさん2009/06/06(土) 22:29:33
スレの伸びはC#の方が速い
検索件数はC#の方が多い

これでいいのかな?VB大敗北だな
0020デフォルトの名無しさん2009/06/06(土) 22:33:16
スレの伸びと普及の関係の根拠はなに?
0021デフォルトの名無しさん2009/06/06(土) 22:34:43
VBとJavaはできませんときっぱり言っておくとデスマーチに呼ばれないように感じるなぁ。
0022デフォルトの名無しさん2009/06/06(土) 22:36:56
>>17
じゃあ、日本でその状態になるのは5年後じゃね?<日米の流行の時間差
0023デフォルトの名無しさん2009/06/06(土) 22:38:21
ウザイから一回埋めてやる
0024デフォルトの名無しさん2009/06/06(土) 22:38:37
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0025デフォルトの名無しさん2009/06/06(土) 22:38:41
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0026デフォルトの名無しさん2009/06/06(土) 22:38:44
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0027デフォルトの名無しさん2009/06/06(土) 22:38:47
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0028デフォルトの名無しさん2009/06/06(土) 22:38:50
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0029デフォルトの名無しさん2009/06/06(土) 22:38:53
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0030デフォルトの名無しさん2009/06/06(土) 22:39:00
再開
0031デフォルトの名無しさん2009/06/06(土) 22:39:42
>>21
選べる状況ならそうするけど
今は何でもいいから仕事がほしい
0032デフォルトの名無しさん2009/06/06(土) 22:40:29
c#スレが伸びるのはvb厨が荒らすから。
0033デフォルトの名無しさん2009/06/06(土) 22:40:47
>>17
ソース
0034デフォルトの名無しさん2009/06/06(土) 22:57:30
おれ最近規制報告に凝ってるんだ
しつこいようだとやっちゃうぞ?
0035デフォルトの名無しさん2009/06/06(土) 23:02:58
17だが、すまん。40%というのは嘘だった。
でもシェアトップというのは本当だ。
http://www.atmarkit.co.jp/news/200902/27/langs.html
0036デフォルトの名無しさん2009/06/06(土) 23:08:41
Objective-Cって絶滅したかと思ってたよ。
0037デフォルトの名無しさん2009/06/06(土) 23:09:52
C++にしないなら、何で中途半端なC#なのか。
素直にVB.NETにすればいいのに。
VBなら馬鹿にされると思って、見栄でC#やってるだけだろ。
0038デフォルトの名無しさん2009/06/06(土) 23:11:12
君には中途半端なのかも知れないね、C#
0039デフォルトの名無しさん2009/06/06(土) 23:16:08
まあ少なくとも、オレの居た会社では.NETの案件でVB.NETなんてのは聞いたことなかったな。
言語としてできることにそれほど差があるわけではないが、
まあ全体的な生産性からみてC#を選択するのが無難だろ。
0040デフォルトの名無しさん2009/06/06(土) 23:20:20
VB.netはC#のおまけだろ。
実際、最新の機能はC#へが先だしな
0041デフォルトの名無しさん2009/06/06(土) 23:33:04
IShellFolder とかいじるプログラムを作ってて、
SafeHandle や HandleRef の使い方がわからなくて
全部、IntPtr にしてるんだけどやっぱりまずいよね?

ぐぐってみたが使いどころがよくわからないんだけど
誰か教えてくれないか?
0042デフォルトの名無しさん2009/06/06(土) 23:41:28
プロパティにするかパラメータにするかの判断基準が分からない
0043デフォルトの名無しさん2009/06/06(土) 23:44:08
private 以外は無条件でプロパティで。
0044デフォルトの名無しさん2009/06/06(土) 23:48:14
VB.NETをまともに使いこなせるレベルなら
C#なんて構文ちょろっと覚えるだけで使えるようになるのに何故騒いでるんだ?

>>37
何?お前VBに劣等感とか持っちゃってるの?wwアホくさ
0045デフォルトの名無しさん2009/06/06(土) 23:51:11
>>42
getterだけあればいいばあい。
もしくはgetterとsetterが必要で、setterに特に追加の引数を必要としない場合はプロパティでよい。
0046デフォルトの名無しさん2009/06/07(日) 00:01:15
結局はクラスライブラリを知ってるかどうか、でしょ。
それを呼び出す手段は別になんだってできることは同じ。
VBでもC#でも、もっと別の言語でも。
0047デフォルトの名無しさん2009/06/07(日) 00:22:04
>>46
開発の歴史を知らない感じの発言だな。
それを実現するまでにどれぐらい時間がかかってるか理解してる?
0048デフォルトの名無しさん2009/06/07(日) 00:30:58
ゲームを作る目的なら、C++よりC#を覚えた方がいいんでしょうか?
サイトで色々調べてみたのですが、C#の方が向いていると言うのと、
ライブラリ(これがどれほどの役に立つものかは理解していませんが)が充実しているという点でC++でやったほうがいいという意見で別れています
0049デフォルトの名無しさん2009/06/07(日) 00:35:11
>>48
商用でゲームプログラムを作っている立場のものだが、
実際にどちらにするか迷う。
従来はC++の一点張りだったが、C#は圧倒的に開発効率がいいし、
DirectXのサポートも問題ない。

問題は外部ライブラリの使用と特にスクリプトをどうするかで、
.NETには使い勝手の良いライトウェイト言語がまだ実用化されていないように思える。
(IronPythonなどがあるが、あんなにコンパイルに時間がかかって実用になるのか?)

だが、C#でゲームを作るというのは十分ありだと思うよ。起動は遅くなるけど。
0050デフォルトの名無しさん2009/06/07(日) 00:43:24
>>49
プロの方でも迷う問題ですか
とりあえず製作がまだ簡単そうな、C#でやってみることにします。ありがとうございました
0051デフォルトの名無しさん2009/06/07(日) 00:44:18
>>49
IronPythonは.NETアセンブリに事前コンパイルできたように記憶している。
他のDLR言語は知らない。
0052デフォルトの名無しさん2009/06/07(日) 00:54:52
GCどうすんのよ。
諦めて自分で管理か
0053デフォルトの名無しさん2009/06/07(日) 01:04:22
>C#なんて構文ちょろっと覚えるだけで使えるようになる
そんなわけない
50ページ以下で出版されてるC#の本などない。
何百ページもの学習量がある。
0054デフォルトの名無しさん2009/06/07(日) 01:10:35
何百ページのC#解説書なんかちょろっとマスターしてしまえるわ
0055デフォルトの名無しさん2009/06/07(日) 01:11:34
>VB.NETをまともに使いこなせるレベルなら
前提抜かすな
0056デフォルトの名無しさん2009/06/07(日) 01:11:35
まあ、プログラミングやりたい初心者がいたら、間違いなくC#奨めるよ
RubyやPythonみたいなスクリプト系は癖が強すぎるので絶対奨めない
基本学ぶならC#が取っつきやすくていい
0057デフォルトの名無しさん2009/06/07(日) 01:21:13
C++がそうであるように、C#のすべての言語仕様なんぞ知る必要がない。
0058デフォルトの名無しさん2009/06/07(日) 01:21:45
荒らしてんのは本当にVB厨なのか?
どうにも、実はCすらできないC++厨臭いんだがw
0059デフォルトの名無しさん2009/06/07(日) 01:22:08
C#を、というより、「データ構造とアルゴリズム」の概念を身体に染み込ませれば、
あとはどの言語もリファレンス引きながら何とかなる。
プログラミング的「センス」ってのはあるけど、多少ださいソースでも
昨今の「ハイパワー」が補ってくれる。

ツールへの習熟度は軽視できないけど、
それよりも作る物の目的やその結果が全てでがしょ?
0060デフォルトの名無しさん2009/06/07(日) 01:35:36
>>56
私はそうは思わない(癖が強い)けど、
まあ動的型言語と静的型付け言語とどちらを先に覚えるべきかと言えば、
静的型付けかもしれないなぁ。

でも動的型言語は最初にプログラムを作るのに覚えることが少ないから初心者向きともいえる。
教える側のスキルによっても結論は変わってきそうだ。
0061デフォルトの名無しさん2009/06/07(日) 01:43:48
>>54や>>55は物事を過小評価する奴だな。
0062デフォルトの名無しさん2009/06/07(日) 01:46:43
そして、自信過剰になる傾向のある奴だな。
自分の弱点等には気付かないタイプだな。
0063デフォルトの名無しさん2009/06/07(日) 01:47:33
アンタは過大評価しすぎだな>>61
0064デフォルトの名無しさん2009/06/07(日) 01:48:14
ごめんね
C#がちょろっとできるようになっちゃったもんでつい調子に乗っちまった
0065デフォルトの名無しさん2009/06/07(日) 01:49:55
そうか、ちょろっとしかできないくせに、調子に乗ってるのか
0066デフォルトの名無しさん2009/06/07(日) 01:57:53
>>59
C++ って結局落とし穴やら最低必要な予備知識が多すぎてその
一般論すら通用しないんだよなぁとふと思った。
0067デフォルトの名無しさん2009/06/07(日) 02:07:23
それでも標準的な言語ではあるわけで
0068デフォルトの名無しさん2009/06/07(日) 02:10:23
標準的?
これまた曖昧な概念を持ち出したな
0069デフォルトの名無しさん2009/06/07(日) 03:37:05
c#とjavaどちらが将来性があるかというと結局はMSとOracleどっちか将来性があるかということだ。
0070デフォルトの名無しさん2009/06/07(日) 03:45:33
それは硬貨と紙幣どっちが将来性があるかと言いってるようなもんだ。
0071デフォルトの名無しさん2009/06/07(日) 03:50:25
既に将来性うんぬんとかいうようなレベルじゃなくて十分に普及しているから、
自分の作るものがどちらで作るのが向いているのかで考えればいいんじゃないかな。
0072デフォルトの名無しさん2009/06/07(日) 03:58:17
たいていどっちでも作れる
0073デフォルトの名無しさん2009/06/07(日) 04:01:46
マルチスレッドって処理速度が早くなるの?
0074デフォルトの名無しさん2009/06/07(日) 04:04:13
>>73
使い方次第
0075デフォルトの名無しさん2009/06/07(日) 04:41:25
どうやって使ったら速くなるの?
0076デフォルトの名無しさん2009/06/07(日) 06:09:45
解説サイト見ながら簡単なプログラムを作ってみたんですが、動作がおかしいんです。
どっかにプロジェクトをアップロードしたら、このスレで添削してもらえますか?
0077デフォルトの名無しさん2009/06/07(日) 06:51:28
ほい
0078デフォルトの名無しさん2009/06/07(日) 07:23:28
C#でDirectXのD3DXの関数は使えますか?
0079762009/06/07(日) 07:26:17
おねがいします。これです。
ttp://ponyo.no-ip.org/uploader0/src/01P0450.zip.html

テキストボックスにgoogleのソースを表示するだけなんですが、
テキストが全洗濯状態になってしまいます。
どこを直せばいいんでしょうか。
C#2008です。
0080762009/06/07(日) 07:29:03
ついでにもう一つお願いします。
禁則処理(?)をなくして、単語の途中で改行するのを許可して、右端にスペースが
あかないようにする設定はありますでしょうか。
0081デフォルトの名無しさん2009/06/07(日) 07:33:33
>>47
これから作るソフトにC#とVB.Netのどちらを選ぶか、って話には歴史関係ないじゃん
0082デフォルトの名無しさん2009/06/07(日) 10:18:31
>>79
カーソル位置を設定していないと、フォーカス来たときに全選択になるんじゃないかな。
文字列設定した後に、textBox1.Select(0, 0);でカーソル位置先頭にするとか。
ワードラップは、、、、EM_SETWORDBREAKPROCを直接設定するしかないかも。
0083デフォルトの名無しさん2009/06/07(日) 10:32:20
>>78
質問の仕方が怪しいな
DirectX使うっていうのは関数一つ二つでちょこっとできるようなものじゃないよ
使うとなるとプログラム全体がDirectXに染まる

ManagedDirectXとかSlimDXとか
0084デフォルトの名無しさん2009/06/07(日) 13:20:41
VBからC#への移植で悩んでいます。
VBで数値(文字コード)を文字列に変換する部分で

s = Chr(x) + Chr(y)

をC#になおしたいのですが、自力で書き換えてみたらこんなに長くなってしまいました。
もうちょっと短く書く方法はないでしょうか?
とくにToString()を1文字ごとに呼び出すのが無駄っぽく思えるのですが。

s = ((char)x).ToString() + ((char)y).ToString();
0085デフォルトの名無しさん2009/06/07(日) 13:26:22
>>84
C#で1文字ごとに処理すること自体あまりやらないことなので、
敢えて1文字ずつ処理してしまう場合にはそうなるのも仕方ないんじゃね?
0086デフォルトの名無しさん2009/06/07(日) 13:27:06
追加。数値を文字列に変換するというなら、formatを使ってご覧。
0087デフォルトの名無しさん2009/06/07(日) 13:29:08
>>84
2文字だったら、別に書き換える必要はないと思うけど。

どうしても、ToStringが嫌なら

s = new string(new[] { (char)x, (char)y });
0088デフォルトの名無しさん2009/06/07(日) 13:31:43
string.Concat
中でToStringされるから意味も実際の動作も全く同じだけどどっちにしてもChrよりは速いよ
0089デフォルトの名無しさん2009/06/07(日) 13:33:46
>>85
わかりました。
今回はchr関数を自作して置き換えることにします。
0090デフォルトの名無しさん2009/06/07(日) 13:35:27
VBのアセンブリを参照設定して Chr() 関数使えばいいじゃん。
0091デフォルトの名無しさん2009/06/07(日) 13:38:43
あ、考えてる間にレスが…
色々ありがとうございます。実際はもうちょっと式が長いんです。
とりあえず、一通り試してみます。

ちなみに単純なプログラムなので処理速度は問いません。
あくまでもVBからの移植性とか可読性(式の単純さ)の方を重視したいと思っています。

CharからStringへの暗黙の変換がないのはどうしてなんでしょうね。
ずっとVBばかりやってきたので不思議でしょうがありません。
0092デフォルトの名無しさん2009/06/07(日) 13:40:39
>>90
すいません。その方法をもうちょっと詳しく教えてください。
そのexeはVB(のランタイム)の入ってないマシンでも実行できますか?
0093デフォルトの名無しさん2009/06/07(日) 13:42:37
いやChrの戻り値もcharだから無意味
0094762009/06/07(日) 13:45:17
>>82
Select(0, 0)で全選択は解消できました。
右端で折り返すのはまだできません。むむむ
0095デフォルトの名無しさん2009/06/07(日) 13:52:07
ついでにお願いします。
今回のchrとか、自作の関数をどこかにまとめていつでも使えるようにしておきたいのですが、
C#2008の流儀ではどうするのが推奨されているのでしょうか。

昔覚えたC言語ではlibフォルダにソースを入れておいて、<#include jisaku_lib.c>みたいにして
使ってた覚えがあるんですが。
0096デフォルトの名無しさん2009/06/07(日) 13:54:02
>>92
VBのランタイムって、今のバージョンなら .NET Framework だよ。
なので、.NET Framework が入ってれば使える。
0097デフォルトの名無しさん2009/06/07(日) 13:55:07
>>95
クラスライブラリプロジェクトを作って、アセンブリかプロジェクトを参照。
0098デフォルトの名無しさん2009/06/07(日) 13:56:22
>>94
http://msdn.microsoft.com/ja-jp/library/8ksw88aw(VS.80).aspx
0099デフォルトの名無しさん2009/06/07(日) 13:58:17
>>96
なるほど、.NETが共通のライブラリなんですね。
ライブラリが共通なのに使える関数が言語ごとに違うのはなんとなく不思議な感じがします。
0100デフォルトの名無しさん2009/06/07(日) 13:59:19
クラスライブラリにする
そこまでするほどではないと思うなら変なこと考えるよりソースコードをコピーしちゃったほうがいい
細かい依存が増えるとかえって煩雑になる
0101デフォルトの名無しさん2009/06/07(日) 14:01:33
横レスすいません、>>90の方法を詳しく教えてもらえませんか?
それか開設してるサイトがあれば教えてください
VBからVCに移行したばかりなので、VBの関数を使えればすごく楽になりそうです
■ このスレッドは過去ログ倉庫に格納されています