我来自C++,在那里很容易做这样的事情:templatevoidSwap(T&a,T&b){Ttemp=a;a=b;b=temp;}然后用它来交换容器中的值:std::vectorsomeInts;someInts.push_back(1);someInts.push_back(2);Swap(someInts[0],someInts[1]);但是,在尝试用C#做同样的事情时voidSwap(refTa,refTb){Ttemp=a;a=b;b=temp;}我收到错误“属性或索引器不能作为out或ref参数传递”为什么会这样,我该如何克服?非常感谢 最佳答案
我正在阅读我正在使用的库的一些代码,我发现在一个函数中使用了它:voidsomeFunction(Foo&a,intindex,intpartId){(void)partId;(void)index;//morecode}谁知道为什么?谢谢。 最佳答案 避免编译器警告/错误指示变量未在函数体中使用。这是一种风格选择,另一种实现相同效果的方法是不给变量命名:voidsomeFunction(Foo&a,int/*index*/,int/*partId*/) 关于c++-使用(void)so