私のビューページからコントローラーに1〜5のイメージを渡しています。私はこのC#リストコレクションの要素の正確な数を知る方法
IEnumerable<HttpPostedFileBase> images
と、私はこの
List<Photo> Photos = new List<Photo>();
for (int i = 0; i < Images.Count(); i++)
{
foreach (var image in Images)
{
Photo p = new Photo();
p.ImageMimeType = image.ContentType;
p.ImageData = new byte[image.ContentLength];
image.InputStream.Read(p.ImageData, 0, image.ContentLength);
Photos.Add(p);
}
}
しかしImages.Count()の戻りを試してみましたmyDomainModel に他のデータと一緒にこのデータを送信するように私のコントローラ上で受信
<input type="file" name="Images" /><br />
<input type="file" name="Images" /><br />
<input type="file" name="Images" /><br />
<input type="file" name="Images" /><br />
<input type="file" name="Images" /><br />
全体の容量は、私が投稿したときに5つの代わりに2つの画像を言うようになりました。
リストの要素の数を取得する方法です。能力はありません。
ありがとうございます。
forループ、外側のポイントは何ですか?外側のforeachループと内側のforeachループのコレクションをループしているように見えるので、画像の数を二乗しています:Images.Count = 5 => Photos.Count = 25; Images.Count = 2 => Photos.Count = 4 – sheikhjabootie
私は最初の場所でforループなしで試しました。だからあなたは提案がありますか? – BobRock
forループを削除します。 foreachループを維持する。問題がいくつかの画像が空である場合は、if(image.ContentLength> 0){...}ブロックにforeach-loopの内容をラップすることができます。そうすれば、実際にコンテンツを持つ画像だけが追加されます。ページ上のコードが適切な数の画像しか提出しない方が良いでしょう。 – sheikhjabootie