ふらっとVisual C#,C♯,C#(初心者用) Part111
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2014/04/05(土) 22:08:28.72ID:l3iN8hNI他のスレッドでは書き込めないような低レベルな質問。
質問者自身なんだか意味がよく分からない質問。
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっとVisual C#,C♯,C#(初心者用) Part110
http://toro.2ch.net/test/read.cgi/tech/1388377636/
■関連スレ
C#, C♯, C#相談室 Part82
http://toro.2ch.net/test/read.cgi/tech/1386763696/
■コード貼るなら↓使ってください
http://ideone.com/
0153デフォルトの名無しさん
2014/04/22(火) 23:27:01.60ID:COSeIpGWどんどん差がなくなってきてる
最近は真面目にそれぐらいしか差がない
0154デフォルトの名無しさん
2014/04/22(火) 23:28:38.63ID:w4l4IAkaC#,VB.NETの両方読めるようにしとくと情報が見つけやすい
0155デフォルトの名無しさん
2014/04/22(火) 23:30:33.98ID:qzRdlrJoC#でプログラミングする必要はないが、C#が読めるようになると世界が広がる
C#が読めれば数々のオープンソースプロジェクトのソースが読めるしJavaも読める
また、一般にWebに転がってるC#の情報はVBより品質が高い
C#に無い機能は即ちVBでも使ってはいけない機能なので、それが分かっていれば実際使うのがVBだとしても高品質なコードが書けるようになる
0156デフォルトの名無しさん
2014/04/22(火) 23:33:58.18ID:kADKmax/フォームのシングルトンインスタンスにクラス名でアクセス出来るのとかまだあるんだっけ?
0157デフォルトの名無しさん
2014/04/22(火) 23:34:08.54ID:kRq+wL8H0158デフォルトの名無しさん
2014/04/22(火) 23:34:09.41ID:COSeIpGW情報検索がしやすいメリットは大きいね
下手くそなコード書く人が少ないのも助かる
0159デフォルトの名無しさん
2014/04/22(火) 23:35:12.43ID:kRq+wL8H0160デフォルトの名無しさん
2014/04/23(水) 00:41:08.86ID:3zL5Y6EA結局出来ることはほとんど違わないけど、VBのラムダ式とかジェネリックとか
AddressOf...とかの冗長さにイラっとしてるならそれから解放される。
あと、このスレでもそうだけどVBに偏見持ってる人は少なくないから、
メンタル的にはその辺も大きいねw
0161デフォルトの名無しさん
2014/04/23(水) 00:45:47.04ID:JkkhAF2N移行っていうほど大げさなもんじゃない。
VBが普通に書けるなら1週間でC#もスラスラ書けるようになるはず。
0162デフォルトの名無しさん
2014/04/23(水) 01:02:34.08ID:Jwmg0nMc偏見じゃなくて公式だ
MS自身がが先陣切ってVBerを馬鹿にしてるからなあ
0163デフォルトの名無しさん
2014/04/23(水) 01:14:29.84ID:moWamiRQ公式だから偏見じゃないとはちょっと…
自分もVBからC#に移ったが、情報やサンプルの多さは本当に助かってる
職場ではVBA使うからたまに混乱するが
0164デフォルトの名無しさん
2014/04/23(水) 01:57:22.43ID:oEVDmUMc偏見ってたとえば?
0165デフォルトの名無しさん
2014/04/23(水) 03:45:53.21ID:L+2rWq+FMS自身がが先陣切ってVBerを馬鹿にしてる とか
0166デフォルトの名無しさん
2014/04/23(水) 07:03:44.22ID:aQjOrdcV機能が同等だとしてもあえて選ぶ意味は無い
0167デフォルトの名無しさん
2014/04/23(水) 07:27:58.18ID:B15hE1J5あるいは元VBerで信仰心があったり
公平な選択なんて有り得ないんですよ
例えそれが自分の首を締めても
0168デフォルトの名無しさん
2014/04/23(水) 08:23:37.10ID:x9LZX8vX0169デフォルトの名無しさん
2014/04/23(水) 08:38:33.73ID:Wz2QSiNm0170デフォルトの名無しさん
2014/04/23(水) 09:30:35.84ID:oEVDmUMc0171デフォルトの名無しさん
2014/04/23(水) 10:12:07.52ID:8Svp1K2CVBで作るって言うと遅くなるとかバカにされるけど、C#で作るって言うと安心するとか尊敬される
知らない人ほど「Basicって名前は遅くてCって名前は速い」と思ってるから性質が悪い
0172デフォルトの名無しさん
2014/04/23(水) 12:43:00.67ID:To415BTTstatic void Main(string[] args)
{
}
見たいになってるけど、デフォルトで
static void Main(string[] args) {
}
こうするように出来ますか?
0173デフォルトの名無しさん
2014/04/23(水) 12:54:41.59ID:Wav400Iz少なくともうちのExpressちゃんだと
0174デフォルトの名無しさん
2014/04/23(水) 13:02:10.40ID:To415BTTありがとうございます
0175デフォルトの名無しさん
2014/04/23(水) 13:14:45.44ID:HlzGISmeoutのやつとかうまく行かない時ある
0176デフォルトの名無しさん
2014/04/23(水) 17:00:14.97ID:gE6F061nインデックスつきプロパティとかどうすんだろ
0177デフォルトの名無しさん
2014/04/23(水) 18:38:59.62ID:hEaBYDdCパフォーマンスがC#より悪いのも、ヘルパーメソッド由来の妙なバグがあるのも全部事実であって偏見ではない
0178デフォルトの名無しさん
2014/04/23(水) 20:26:11.53ID:TDgs+IDtMS にはとっとと切り捨てて欲しい
>>176
get_プロパティ名(インデックス)、set_プロパティ名(インデックス, セット値) でいける
0179デフォルトの名無しさん
2014/04/23(水) 22:13:30.39ID:Wvay+xfFVBのメリット、これしか見つからないな。
0180デフォルトの名無しさん
2014/04/23(水) 22:17:47.88ID:9b5aah450181デフォルトの名無しさん
2014/04/23(水) 22:38:48.86ID:aQjOrdcV0182デフォルトの名無しさん
2014/04/23(水) 23:05:07.94ID:gnPWMjptそんなことはないと思うが、2008の頃からは何を書くにもとにかく冗長という
欠点ばかりが目立つようになってしまった。
0183デフォルトの名無しさん
2014/04/23(水) 23:30:13.86ID:aQjOrdcVリフレクション多用するライブラリが増えてきて表面化しただけじゃないの
自動実装プロパティもC#にしかない時期だし
0184デフォルトの名無しさん
2014/04/23(水) 23:30:18.44ID:O6CdnXOc0185デフォルトの名無しさん
2014/04/23(水) 23:32:30.95ID:Jwmg0nMc2008からはVBチームがVB嫌いのヘジたんの傘下に入ったからね
0186デフォルトの名無しさん
2014/04/23(水) 23:59:59.59ID:20pXoq+zバグ生産機を使うなバカ
0187デフォルトの名無しさん
2014/04/24(木) 01:31:15.85ID:ql05jL4bすまん軽率だった
これ見て使ってしまう奴が居ないとも限らんしな
0188デフォルトの名無しさん
2014/04/24(木) 20:30:02.51ID:4wdRys5m0189デフォルトの名無しさん
2014/04/24(木) 20:44:58.88ID:YxnFmXEYそれっぽいフォームを自分で作る
文字列を描画したときのサイズを計算してフォームの大きさ変えたりとか楽しいぞ
さあ作れ
0190デフォルトの名無しさん
2014/04/24(木) 20:58:57.16ID:nZNRS/HTそうでなくてもOS標準のはモーダルにしか出来ないしいろいろ使いづらい。
0191デフォルトの名無しさん
2014/04/24(木) 21:15:44.44ID:DE2OqBZn0192デフォルトの名無しさん
2014/04/24(木) 21:20:16.41ID:DE2OqBZnpublic struct A{
public static string str;
public struct B{
public static string str_b1;
public static string str_b2;
}
public class Class{
public string c_str;
}
public static Class C = new C();
public static Class[] D = new D[2]{
new D(),
new D()
};
}
こんな構造体があるとして
A.B.str_b1;
A.B.str_b2;
A.C.c.str;
A.D[0].c_str;
A.D[1].c_str;
foreach的な感じで値取得ってできない?
0193デフォルトの名無しさん
2014/04/24(木) 21:20:46.50ID:YxnFmXEY無理ってことはないと思うならやってみろよハゲ
ちなみにあれMessageBox APIを呼んでるだけなんすよヅルムケが
0194デフォルトの名無しさん
2014/04/24(木) 21:35:37.91ID:FFtq7Y66正直、お前さんみたいな馬鹿丸出しな奴は相手にしたくない人種なんだが。
恐らくこれと同じ手法でいける。
http://msdn.microsoft.com/en-us/library/ms996463.aspx
0195デフォルトの名無しさん
2014/04/24(木) 21:37:47.16ID:YxnFmXEYそれらの静的フィールドをyield return で返すIEnumerable<strign>なプロパティを書けばできるけど
意味があるかどうかはおいといて
つかそれ構造体の意味なくね?
0196デフォルトの名無しさん
2014/04/24(木) 21:41:48.71ID:YxnFmXEYすこしは自分でコード書いてみたら?
同じ手法でいけるって……全然試してないでしょあなた
0197デフォルトの名無しさん
2014/04/24(木) 21:43:57.76ID:vQpzgEp0foreach使うための、インターフェースの実装はわかりますよね?
あとは、イテレータ使えばできるはずです。
0198デフォルトの名無しさん
2014/04/24(木) 21:49:14.36ID:VsJIW2Qh馬鹿だろお前。
だったらてめえでやれ馬鹿。
0199デフォルトの名無しさん
2014/04/24(木) 22:02:34.00ID:dPj9fjlZただ、意味はないからやらないだけだ
0200デフォルトの名無しさん
2014/04/25(金) 15:25:09.99ID:IiOsF4m20201デフォルトの名無しさん
2014/04/25(金) 20:53:42.84ID:1OgLRHsjオートメーションは今でもVBの方が向いてるよ。
Option Strict Offの唯一の見せ場といってもいいぐらい
0202デフォルトの名無しさん
2014/04/25(金) 20:59:41.66ID:H8Us4HARつdynamic
0203デフォルトの名無しさん
2014/04/25(金) 21:05:02.54ID:OpA3+M3d0204デフォルトの名無しさん
2014/04/25(金) 21:10:59.66ID:H8Us4HAR0205デフォルトの名無しさん
2014/04/25(金) 21:18:49.00ID:E6t4nrBHいや、例えばRange.Valueをdoube[,]として出し入れする、なんて芸当はVBしかできない。
0206デフォルトの名無しさん
2014/04/25(金) 21:27:17.50ID:BeYqZeZk0207デフォルトの名無しさん
2014/04/25(金) 22:19:49.65ID:+sbVSSo6Word形式で出力できるライブラリが殆ど無いのが納得いかない。
0208デフォルトの名無しさん
2014/04/25(金) 22:32:43.08ID:v98LkHcr0209デフォルトの名無しさん
2014/04/25(金) 23:05:26.63ID:K/dO+JDF連番画像ダウンローダー、目覚ましなどは作りましたが、次に作るものが思い浮かばないです・・・
0210デフォルトの名無しさん
2014/04/25(金) 23:15:10.41ID:BeYqZeZk0211デフォルトの名無しさん
2014/04/26(土) 01:10:31.85ID:L7zgrAvH0212デフォルトの名無しさん
2014/04/26(土) 01:12:25.53ID:EJb9DXTR0213デフォルトの名無しさん
2014/04/26(土) 01:41:03.89ID:fIjhv7f7擬似ウイルス
0214デフォルトの名無しさん
2014/04/26(土) 07:48:18.18ID:tBhXDM1B俺はもうC#上級者
0215デフォルトの名無しさん
2014/04/26(土) 09:57:25.18ID:6xIFFq9Q画像レタッチソフト
0216デフォルトの名無しさん
2014/04/26(土) 12:06:32.30ID:we+cBXG7マクロにC#を使える軽量高機能テキストエディタ
0217デフォルトの名無しさん
2014/04/26(土) 12:39:09.88ID:4Y2pKqPs/// 指定したmdbファイルに対してSQLを実行します。
/// </summary>
/// <param name="sql">実行するSQL文です</param>
/// <param name="dataSource">mdbファイルの絶対パス</param>
/// <returns>0:正常終了 1:dataSource未設定 2:SQL文がない -1:システムエラー</returns>
こういうコメントを、関数仕様書のようにまとめる事ができる
お勧めツールはありますでしょうか?
0218デフォルトの名無しさん
2014/04/26(土) 12:51:59.56ID:Qdi0GyvQ0219デフォルトの名無しさん
2014/04/26(土) 13:04:22.85ID:EJb9DXTR1つの関数にopenからsql実行まで全部いれないでもうちょっと別けろよ
0220デフォルトの名無しさん
2014/04/26(土) 13:14:14.44ID:yjIemKHI0221デフォルトの名無しさん
2014/04/26(土) 13:26:01.94ID:Fm5sej5/0222デフォルトの名無しさん
2014/04/26(土) 13:49:19.87ID:4Y2pKqPsopenからsql実行まで一連の処理を一つの関数にまとめていると
何か不都合が出てくるのでしょうか?
なるほど、という不都合が。
0223デフォルトの名無しさん
2014/04/26(土) 15:32:06.24ID:rj2lEW1Q0224デフォルトの名無しさん
2014/04/26(土) 15:36:25.19ID:Qdi0GyvQ笑えないほど予告通りですね
0225デフォルトの名無しさん
2014/04/26(土) 15:38:21.79ID:ZzzaXJVH0226デフォルトの名無しさん
2014/04/26(土) 16:28:10.91ID:we+cBXG7>>222
File.ReadXXXなんかもあるし、これで全部賄おうって話じゃなけりゃ問題ないでしょう
それより処理結果をintで返すのは誰に教わったの?そいつぶん殴ったらいいよ
処理結果なんて誰も見ない
SQLがnullだった場合?呼び出す側はこれnullかも・・・って思いつつ呼び出さないよな、だったら事前チェックするから
想定してないのにnullって言われてもどうしようもない
だから対処できるメソッドまで例外を投げるんだよ、回復とか通知とか出来るところまで
ArgumentNullExceptionを投げるようにして、例外説明用のタグもあるからそれ使おうか
0227デフォルトの名無しさん
2014/04/26(土) 16:32:22.76ID:lFCRVMF10228デフォルトの名無しさん
2014/04/26(土) 16:42:25.86ID:Cr6T5VXg0229デフォルトの名無しさん
2014/04/26(土) 17:17:16.99ID:Gwme6n+H>処理結果なんて誰も見ない
それを言うなら、呼び出したメソッドが例外投げるなんて「誰も想定しない」
とも言えるわけでどっちもどっちだと思うよ。
むしろエラーコード方式の方が、そのメソッドではエラーが発生しうることをコード上で
明示できる分優れているとすら言える。
ただ>>217はエラーコードに今時マジックナンバーを使ってる点は問題。
そこはenumか例外オブジェクトを返すようにした方がいいと思う。
0230デフォルトの名無しさん
2014/04/26(土) 17:36:23.19ID:19vcZYji静的ではないクラスの中に定義したメソッドは
そのクラスのインスタンスを作成するたびに メモリ上に展開されるの?
だとしたら
主にデータを保持するために使うクラスには出来る限りメソッドを定義しないようにして
メソッドはそれを提供する専用のクラスに分割して書いたほうが良いの?
インスタンスの量が増えてくるとメモリの使用量が気にならないかなぁ・・・と
まぁC#でメモリの使用量なんて気にしても仕方ないのかもしれませんがよろしくお願いします.
0231デフォルトの名無しさん
2014/04/26(土) 17:40:40.90ID:9En+Yllw0232デフォルトの名無しさん
2014/04/26(土) 17:41:26.63ID:lFCRVMF10233デフォルトの名無しさん
2014/04/26(土) 18:00:36.35ID:oIIaUmxU割り当てられるような間抜けな実装してるものなんてあるのか?
誰が考えてもありえない話としか思えないが
0234デフォルトの名無しさん
2014/04/26(土) 18:04:16.55ID:Qdi0GyvQ0235デフォルトの名無しさん
2014/04/26(土) 18:14:29.64ID:lFCRVMF10236デフォルトの名無しさん
2014/04/26(土) 18:26:31.95ID:NVDEc6dDためしにDoxygen
0237デフォルトの名無しさん
2014/04/26(土) 20:31:07.43ID:+q1cG7mf例外オブジェクトを返す?本気?
0238デフォルトの名無しさん
2014/04/26(土) 20:34:09.18ID:GZ073aKTオススメや参考にしたサイト等あれば教えてください、お願いします
0239デフォルトの名無しさん
2014/04/26(土) 20:37:36.64ID:lFCRVMF10240デフォルトの名無しさん
2014/04/26(土) 20:42:52.62ID:7/lzVZ3W例外オブジェクトの存在価値が投げられること、ただそれだけだ思ってるのならただの固定観念。
0241デフォルトの名無しさん
2014/04/26(土) 21:15:39.82ID:lFCRVMF10242デフォルトの名無しさん
2014/04/26(土) 21:21:36.37ID:iOeXFZ4Rそういう批判のための批判なら要らない。
軽量かどうか、誤解を招くかどうか、どちらもそれが例外オブジェクトかどうかとは無関係。
0243デフォルトの名無しさん
2014/04/26(土) 21:26:28.10ID:lFCRVMF10244デフォルトの名無しさん
2014/04/26(土) 21:31:09.99ID:L2eR/wTD俺はマジックナンバーではなくenumか例外オブジェクトを返せと書いた。
要するにただ「使える」と言ってるだけだ。
2chで言ってもしょうがないが本当中学生じみた幼稚な奴だな。
0245デフォルトの名無しさん
2014/04/26(土) 21:39:05.02ID:sw3OTzY3Go言語みたいにするの?
0246デフォルトの名無しさん
2014/04/26(土) 21:43:07.54ID:lFCRVMF1じゃあ聞くけどマジックナンバーと比較して例外を使うのの何が優れてると思ってるの?
型検査になるから列挙型のように選択肢も絞れないし、動作もマジックナンバーより遅いし
基本エラーを表す型しかないから成功のステータスを細分化できないんだけど
エラーメッセージが付加できる点ぐらいしかメリットがないと思うよ
0247デフォルトの名無しさん
2014/04/26(土) 21:49:55.75ID:yjIemKHISQLの実行が100%成功するわけないことぐらい誰でもわかるだろ
0248デフォルトの名無しさん
2014/04/26(土) 21:53:17.85ID:UjMxSJz5例外ならば(例外を食ったりしなければ)普通最上位までまき戻る
あと例外を階層的にクラスで扱えばいろいろ便利だね http://ideone.com/Q5h8n1#li_GQnaUK
C++、Java でも例外をとりいれているし、
エラーコードなんて過去の遺物じゃないかな
0249デフォルトの名無しさん
2014/04/26(土) 21:58:49.85ID:Qdi0GyvQ0250デフォルトの名無しさん
2014/04/26(土) 22:09:27.96ID:2szqXR0/よくある議論だけど、最初から言ってるように、戻り値(エラーコード)ではなく
例外機構を使ったからって、呼び出し側がエラーを想定しなかった場合のリスクに違いはない。
上位まで戻るって、意図的にそうした場合は別として、そうでない場合に
想定されてない例外に対して適切な回復処理なんか出来るわけないでしょ。
0251デフォルトの名無しさん
2014/04/26(土) 22:19:49.67ID:2szqXR0/強制終了させるパワーを持っていることで、だから回復不可能なエラー発生時には
積極的に例外を投げる意味があるけど、それ以外の場合は本来別に例外を投げることに
固執する意味なんてたいしてないんだよね。
むしろエラーコード方式だと他の値が返せなくなるからという程度の理由しかない。
0252デフォルトの名無しさん
2014/04/26(土) 22:31:03.25ID:yjIemKHI追加情報をのせられない
おきた場所のスタックトレースが取得できない
InnerExceptionみたいのができない
エラーの発生しうるメソッドを実行するたびに戻り値を確認する必要がある
回復可能なエラーで失敗を想定しないと停止されないので、そのまま適切でない処理が続行される危険がある
とか
■ このスレッドは過去ログ倉庫に格納されています