Visual Studio 2010 Part10

このエントリーをはてなブックマークに追加
206デフォルトの名無しさん
>>205
いや、C#は糞言語だから怖いよ

foreachとかいきなり初心者みたらなんのことだかわからない
っていうかc/c++で10年やってきた俺でも意味わからんかった
207デフォルトの名無しさん:2010/10/04(月) 23:39:42
Javaよりマシ
208デフォルトの名無しさん:2010/10/04(月) 23:40:01
いまどきforeachなんか無い言語の方が珍しいだろ
209デフォルトの名無しさん:2010/10/04(月) 23:40:02
foreachなんてVB4にもあった機能なんだけど....
210デフォルトの名無しさん:2010/10/04(月) 23:41:50
for (int i = 0; i < array.Length; i++)みたいな意味不明なおまじないよりは
よっぽどわかり易いと思うが
211デフォルトの名無しさん:2010/10/04(月) 23:45:12
おまじないには見えないけど
212デフォルトの名無しさん:2010/10/04(月) 23:46:02
c,c++やっててvcl触った経験あってjavaやった経験あってだとすんなり入れる
213デフォルトの名無しさん:2010/10/04(月) 23:46:08
i++の評価順序とか初心者にいきなり説明するのかよ
214デフォルトの名無しさん:2010/10/04(月) 23:46:46
>>212
それを初心者に押し付けるC#
215デフォルトの名無しさん:2010/10/04(月) 23:48:40
もともとC#は他言語経験者向けの言語だとMSははっきり言ってるわけだが
どうでもいいけどC++10年やっててちょっとしたスクリプト言語の一つも触らなかったのか凄いな
216デフォルトの名無しさん:2010/10/04(月) 23:48:47
foreach(int n in array)
これ、応用効かなくね?
これで順番に表示してて、
ハイ、じゃ次に逆から表示してみましょう
ってときに「?」ってならね?
217デフォルトの名無しさん:2010/10/04(月) 23:50:06
>>215
組み込みだからなぁ
218デフォルトの名無しさん:2010/10/04(月) 23:51:05
>>214
> すんなり入れる

コンパイルエラーを直ぐに出す癖あるだろ
219デフォルトの名無しさん:2010/10/04(月) 23:51:57
>>218
アンカー間違えるお前に何を言われるのかと思ったw
220デフォルトの名無しさん:2010/10/04(月) 23:52:46
>>219
エラーメッセージも読まない性質か…
221デフォルトの名無しさん:2010/10/05(火) 00:11:16
全くのPG初心者はPHPでアクセスカウンタとか作ってキャッキャしてた方が良い
半年後SQLiteを使ったフローティングBBSとか作れるようになった辺りでASP.NETに移行
DataGridとテンプレート、バインディングでフォオオオオッってなった後にWinアプリに移行
VC#でこじんまりしたWinアプリを作れるのは延べ1年後って所だな
222デフォルトの名無しさん:2010/10/05(火) 00:11:37
>>216
そういうイレギュラーなものはforで書けばいい
そもそも逆順に制御したいってことあんまないし
223デフォルトの名無しさん:2010/10/05(火) 00:12:04
>>206
ちょ、おま、良くあるforeachが理解できなかっただけで糞言語扱いかwwww
224デフォルトの名無しさん:2010/10/05(火) 00:13:41
>>222
バブルソートもできないな
for覚えたらforeachいらねぇだろ
225デフォルトの名無しさん:2010/10/05(火) 00:16:03
>>223
これに限った話じゃねぇけど
余計なもんがありまくんだもん
それでいてwin32apiで面倒なところなんてなんも楽になってないしな
ツリーのノードのドラッグとかリストの追加削除なんてwin32apiからなにも進化してない
226デフォルトの名無しさん:2010/10/05(火) 00:16:24
>>216
foreach(int n in array.Reverse())
初心者にとってはi--とかやるより1000倍分かり易いですからw
227デフォルトの名無しさん:2010/10/05(火) 00:17:45
>>225
C#は「言語」なんだけど何言ってんの
228デフォルトの名無しさん:2010/10/05(火) 00:18:34
>>226
それで逆?
キメェ
お前、ちょっとそれでバブルソート書いてみろよ
229デフォルトの名無しさん:2010/10/05(火) 00:18:38
まあ、独習はどうかはしらないけど、本気でプログラム書けるようになりたいのであれば、
VC# の使い方・参考書(ソフトの使い方) ではなくて、C# の使い方を勉強しないとダメだね。

俺もプログラムは C# から初めて、最初の頃は VC# の参考書ばかり買ってたけど、
コピペしか出来るようにならないかった。理解出来ない・できてないから。

ただ、息抜きには VC#の参考書 はいいかもな。
230デフォルトの名無しさん:2010/10/05(火) 00:21:22
>>224
まあ実際なくても困るわけじゃない
ちょっと楽できるってくらい
使わんなら使わんでも悪くない
231デフォルトの名無しさん:2010/10/05(火) 00:23:01
>>228
一方おれはSort()を使った

なんでバブルソートwwww
232デフォルトの名無しさん:2010/10/05(火) 00:23:40
Array.Sort(array);
初心者に必要なソート
233デフォルトの名無しさん:2010/10/05(火) 00:24:22
とりあえず大きめの書店行っていろいろ見てみることだな

VC#でGUIからじゃなくてC#の基礎文法から入ってるのを探すといい
234デフォルトの名無しさん:2010/10/05(火) 00:24:49
各言語でforeachを採用した奴の脳みそを切り開いてみてみたい
for(i=0;i<(size-1);i++){
これやりたいだけでforeachってもしかして使えないのか?(いや、よくわからんけど)
235デフォルトの名無しさん:2010/10/05(火) 00:25:29
foreachに拒絶反応示してるウンコチャンたちはインデクサの無いコレクションをどうやって扱ってんの?
236デフォルトの名無しさん:2010/10/05(火) 00:25:33
>>231
仕様書に書いてあるから
237デフォルトの名無しさん:2010/10/05(火) 00:26:50
>>235
茄子術無し
っていうかちょうどそういうもんを一つ飛ばしで逆に並べる必要があってムキムキしてた
238デフォルトの名無しさん:2010/10/05(火) 00:27:48
>>234
実際あんたも間違ってるじゃないかw
239デフォルトの名無しさん:2010/10/05(火) 00:27:54
今どきのC#はLINQで粗解決するだろJK
240デフォルトの名無しさん:2010/10/05(火) 00:28:47
>>238
マジで?どこ?
241デフォルトの名無しさん:2010/10/05(火) 00:31:00
>>234
これはひどい
242デフォルトの名無しさん:2010/10/05(火) 00:32:28
>>234
そんなん俺が書いた全for文の1%もねぇや
どういう状況で多用するの?
243デフォルトの名無しさん:2010/10/05(火) 00:32:38
234によってforeachの有効さが示されたな
244デフォルトの名無しさん:2010/10/05(火) 00:35:02
>>239
その頻繁な後付けが
C#は覚える事が多いと思わせてる原因では
245デフォルトの名無しさん:2010/10/05(火) 00:37:26
C++の無限に広がるバッドノウハウに比べりゃC#の言語仕様で覚える事なんざ殆ど無い
246デフォルトの名無しさん:2010/10/05(火) 00:38:52
>>242
nとn+1の要素に用があるときの処理
n-1とnとn+1に用があるときとか・・・
結構使うけどなぁ
247デフォルトの名無しさん:2010/10/05(火) 00:39:38
俺は LINQ とかラムダは、ゲームクリア後のチートみたいなものだと思ってる。
248デフォルトの名無しさん:2010/10/05(火) 00:41:17
>>238,241
おまえらの方が間違ってるだろ
foreachが使えないパターンをあげてるんだぜ?
249デフォルトの名無しさん:2010/10/05(火) 00:43:39
>>246
nullavle<int> prev;
foreach(int current in array)
{
  if (prev!=null)

  ...
  prev = current;
}
250デフォルトの名無しさん:2010/10/05(火) 00:45:02
もしかして1回配列に突っ込んで改めて回すしかねーの?
糞言語逝ってよし!
251デフォルトの名無しさん:2010/10/05(火) 00:45:37
>>246
こんな感じの拡張メソッド作って対応してる。

public static IEnumerable<Tuple<T, T>> WithNext<T>(this IEnumerable<T> self) {
var enumerator = self.GetEnumerator();
if (!enumerator.MoveNext()) yield break;
T first;
T current = first = enumerator.Current;
while (enumerator.MoveNext()) {
yield return Tuple.Create(current, enumerator.Current);
current = enumerator.Current;
}
yield return Tuple.Create(current, first);
}
252デフォルトの名無しさん:2010/10/05(火) 00:46:22
途中送信で色々間違ったw
Nullable<int> prev = null;
foreach(int current in array)
{
  if (prev!=null)
  {
    ...
  }
  prev = current;
}
まぁ大半のケースでforeachが便利なんだから良いんだよ
お前らはi=i+1;があるのにi++;を考えた奴の頭はおかしいって主張するのか?
253デフォルトの名無しさん:2010/10/05(火) 00:47:37
foreach(var a in array.Take(array.Length-1))
配列のコピーは発生しない
254デフォルトの名無しさん:2010/10/05(火) 00:49:27
普通のことなのにおそろしく読みにくいなw