私は、バッキングコレクションに書き込むことができるいくつかのタイプのイテレータ/列挙子を探しています。私が理解しているように、C#列挙子は読み込み専用です。STL出力イテレータに相当するC#はありますか?
5
A
答えて
2
このようなことを行うためにC#には何も存在しません。
あなたは正しいIEnumeratorのCurrentプロパティはゲッターとしてのみ定義されています。
このようなことをサポートするには、新しいクラスやインタフェースを作成する必要があります。
interface IOutputable<T> {
IOutputer<T> GetOutputer();
}
interface IOutputer<T> {
T Current { set; }
bool MoveNext();
void Reset();
}
2
AFAIK出力イテレータは、一連のオブジェクトを作成する方法です。 C#でこれを行うには無数の方法があります。たとえば、Stack
を使用します。代わりに、C++スタイルの増分を行うの/あなたがプッシュを行いたい操作を割り当てる:あなたはそれのために非常に特定のアプリケーションを持っていない限り、C#で出力イテレータをエミュレートしようとしている中に何のメリットはおそらくありません
var sequence = new Stack<int>();
sequence.Push(1);
sequence.Push(2);
。
0
あなたがやろうとしていることに応じて、yield return
もあなたの探していることを行う可能性があります。
関連する問題
- 1. Javaデータ構造/ C++ STLに相当するものはありますか?
- 2. C++ std :: partial_sortに相当するC#はありますか?
- 3. PHPの抽出に相当するRubyはありますか?
- 4. Rubyの `respond_to?`に相当するC#はありますか?
- 5. JavaのFile.separatorに相当するC#はありますか
- 6. Swift/Obj-C/iOSに相当するルビーコンソールはありますか?
- 7. C#:JTableに相当するものはありますか?
- 8. PHP関数 `parse_str`に相当するC#はありますか?
- 9. NullPointerExceptionのC++に相当するものがありますか?
- 10. Objective-CのstringWithUTF8Stringに相当するJavaがありますか?
- 11. STLベクトルのイテレータ値を直接出力できません
- 12. C++ STL unordered_mapイテレータ問題
- 13. JavaのC++からgetch()に相当するものはありますか?
- 14. .net出力キャッシュはnode.jsに相当しますか?
- 15. Cの#includeに相当するものはOctaveにありますか?
- 16. タイプ消去C++出力イテレータ
- 17. apacheにはasp.net httpcontext.cacheと出力キャッシュに相当するものがありますか?
- 18. ClearCaseにRTCに相当する「サスペンドモード」はありますか?
- 19. C++のclock関数に相当するRustはありますか?
- 20. C#の 'new'修飾子に相当するJavaはありますか?
- 21. Java InputStreamとOutputStreamのC#に相当する方法はありますか?
- 22. JavaのようなCOLOR.whateverに相当するC++はありますか?
- 23. JavaメソッドgetGlyphOutlineのC#に相当するものはありますか?
- 24. C#の 'continue'と 'break'文に相当するVBはありますか?
- 25. SQL Server OUTPUT INSERTED。*に相当するOracleはありますか?
- 26. CoCreateInstanceExに相当する.NETはありますか?
- 27. PHPのpreg_replaceに相当するMySQLはありますか?
- 28. SQL Server:strpos()に相当するものはありますか?
- 29. DOMエクスプローラに相当するWPFはありますか?
- 30. JSON - これに相当するXML CDATAはありますか?
これは受け入れられる回答である必要があります。 MerickOWAのアプローチはうまくいくかもしれませんが、C#のやり方ではありません。 – dan04