次のコード スニペットはiterator
、std::vector
C++ ライブラリの を示しています。これに相当するC#は何ですか? リンクされたリストではないことを考慮して、ベクトル内の各項目を単純にループできますか? ここでイテレータは正確に何をしているのですか?C#で同等のことを行うにはどうすればよいですか? 完全なコードはこちらです。
std::vector<KMeanCluster>::iterator closest_cluster = clusters.begin();
// Figure out which cluster this color is closest to in RGB space.
for (std::vector<KMeanCluster>::iterator cluster = clusters.begin();
cluster != clusters.end(); ++cluster) {
uint distance_sqr = cluster->GetDistanceSqr(r, g, b);
if (distance_sqr < distance_sqr_to_closest_cluster) {
distance_sqr_to_closest_cluster = distance_sqr;
closest_cluster = cluster;
}
}