Visual Studio 2010 Part10
>>205 いや、C#は糞言語だから怖いよ
foreachとかいきなり初心者みたらなんのことだかわからない
っていうかc/c++で10年やってきた俺でも意味わからんかった
Javaよりマシ
いまどきforeachなんか無い言語の方が珍しいだろ
foreachなんてVB4にもあった機能なんだけど....
for (int i = 0; i < array.Length; i++)みたいな意味不明なおまじないよりは
よっぽどわかり易いと思うが
おまじないには見えないけど
c,c++やっててvcl触った経験あってjavaやった経験あってだとすんなり入れる
i++の評価順序とか初心者にいきなり説明するのかよ
もともとC#は他言語経験者向けの言語だとMSははっきり言ってるわけだが
どうでもいいけどC++10年やっててちょっとしたスクリプト言語の一つも触らなかったのか凄いな
foreach(int n in array)
これ、応用効かなくね?
これで順番に表示してて、
ハイ、じゃ次に逆から表示してみましょう
ってときに「?」ってならね?
>>214 > すんなり入れる
コンパイルエラーを直ぐに出す癖あるだろ
>>218 アンカー間違えるお前に何を言われるのかと思ったw
全くのPG初心者はPHPでアクセスカウンタとか作ってキャッキャしてた方が良い
半年後SQLiteを使ったフローティングBBSとか作れるようになった辺りでASP.NETに移行
DataGridとテンプレート、バインディングでフォオオオオッってなった後にWinアプリに移行
VC#でこじんまりしたWinアプリを作れるのは延べ1年後って所だな
>>216 そういうイレギュラーなものはforで書けばいい
そもそも逆順に制御したいってことあんまないし
>>206 ちょ、おま、良くあるforeachが理解できなかっただけで糞言語扱いかwwww
>>222 バブルソートもできないな
for覚えたらforeachいらねぇだろ
>>223 これに限った話じゃねぇけど
余計なもんがありまくんだもん
それでいてwin32apiで面倒なところなんてなんも楽になってないしな
ツリーのノードのドラッグとかリストの追加削除なんてwin32apiからなにも進化してない
>>216 foreach(int n in array.Reverse())
初心者にとってはi--とかやるより1000倍分かり易いですからw
>>226 それで逆?
キメェ
お前、ちょっとそれでバブルソート書いてみろよ
まあ、独習はどうかはしらないけど、本気でプログラム書けるようになりたいのであれば、
VC# の使い方・参考書(ソフトの使い方) ではなくて、C# の使い方を勉強しないとダメだね。
俺もプログラムは C# から初めて、最初の頃は VC# の参考書ばかり買ってたけど、
コピペしか出来るようにならないかった。理解出来ない・できてないから。
ただ、息抜きには VC#の参考書 はいいかもな。
>>224 まあ実際なくても困るわけじゃない
ちょっと楽できるってくらい
使わんなら使わんでも悪くない
>>228 一方おれはSort()を使った
なんでバブルソートwwww
Array.Sort(array);
初心者に必要なソート
とりあえず大きめの書店行っていろいろ見てみることだな
VC#でGUIからじゃなくてC#の基礎文法から入ってるのを探すといい
各言語でforeachを採用した奴の脳みそを切り開いてみてみたい
for(i=0;i<(size-1);i++){
これやりたいだけでforeachってもしかして使えないのか?(いや、よくわからんけど)
foreachに拒絶反応示してるウンコチャンたちはインデクサの無いコレクションをどうやって扱ってんの?
>>235 茄子術無し
っていうかちょうどそういうもんを一つ飛ばしで逆に並べる必要があってムキムキしてた
239 :
デフォルトの名無しさん:2010/10/05(火) 00:27:54
今どきのC#はLINQで粗解決するだろJK
>>234 そんなん俺が書いた全for文の1%もねぇや
どういう状況で多用するの?
234によってforeachの有効さが示されたな
>>239 その頻繁な後付けが
C#は覚える事が多いと思わせてる原因では
C++の無限に広がるバッドノウハウに比べりゃC#の言語仕様で覚える事なんざ殆ど無い
>>242 nとn+1の要素に用があるときの処理
n-1とnとn+1に用があるときとか・・・
結構使うけどなぁ
俺は LINQ とかラムダは、ゲームクリア後のチートみたいなものだと思ってる。
>>238,241
おまえらの方が間違ってるだろ
foreachが使えないパターンをあげてるんだぜ?
>>246 nullavle<int> prev;
foreach(int current in array)
{
if (prev!=null)
...
prev = current;
}
もしかして1回配列に突っ込んで改めて回すしかねーの?
糞言語逝ってよし!
>>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);
}
途中送信で色々間違ったw
Nullable<int> prev = null;
foreach(int current in array)
{
if (prev!=null)
{
...
}
prev = current;
}
まぁ大半のケースでforeachが便利なんだから良いんだよ
お前らはi=i+1;があるのにi++;を考えた奴の頭はおかしいって主張するのか?
foreach(var a in array.Take(array.Length-1))
配列のコピーは発生しない
普通のことなのにおそろしく読みにくいなw