>>189>>192>>193>>195>>196
レスありがとう

コード間違えた

foreach( FolderItem folitem in FolderView.SelectedItems() )
{
 oItem = folitem;
 if(なにか条件)
  FolderView.SelectItem( ref oItem, 25 );
 else
  FolderView.SelectItem( ref oItem, 0 );
}

>>195
勉強します。とりあえず内部でIEnumeratorにMoveNextしたとき
ループの中で選択してるオブジェクトの数が減ったりしてるはずなのに
エラーも出さず動いてるんですが、仕組みが分からない以上使えないなと思いました。
動くってことはSelectedItems()で取得したFolderItemsは不変ってことなのかな?
でもプロパティとると変わってる。

結局>>196に行き着くんですかね?
こういうコードは止めた方がいいですか?