如何將一個按位運算符作爲參數傳遞給我的方法?我已經閱讀了一些描述如何傳遞等式運算符作爲參數的文章,然而他們以某種方式實現它,然後將它傳遞給委託。在我的情況下,我不知道如何實現按位運算符。C#通過按位運算符作爲參數
0
A
回答
5
您可以使用函數功能<>
int MyFunc(int input1, int input2, Func<int, int, int> bitOp)
{
return bitOp(input1, input2);
}
使用這樣
Console.WriteLine(MyFunc(1, 2, (a, b) => a | b));
輸出 「3」
+1
Upvoted。這是使用從匿名函數創建的委託實例。然而,這並不完全清楚,這是提問者想要的。 –
4
欣賞答案已經在這一點上接受,但想到我會至少分享另一種可能的方法:
int result = Bitwise.Operation(1, 2, Bitwise.Operator.OR); // 3
聲明如下:
public static class Bitwise
{
public static int Operation(int a, int b, Func<int, int, int> bitwiseOperator)
{
return bitwiseOperator(a, b);
}
public static class Operator
{
public static int AND(int a, int b)
{
return a & b;
}
public static int OR(int a, int b)
{
return a | b;
}
}
}
相關問題
- 1. 通過< or >運算符作爲參數的函數?
- 2. 通過運算符作爲函數模板參數
- 3. C++按位或運算符
- 4. C++'>'按位運算符
- 5. 運算符(操作數?)作爲參數
- 6. 按位餘數運算符
- 7. C++片段到C#按位運算符
- 8. C#按位運算符在字符上
- 9. 將SQL位運算符轉換爲C#的示例按位運算符
- 10. C++按位運算
- 11. 按位運算符
- 12. 按位運算符
- 13. C++運算符和參數
- 14. Javascript按位向普通運算符
- 15. 按位運算符與C#中位操作的.NET抽象
- 16. 按位運算符進行過濾?
- 17. C通過字符作爲參考
- 18. C#按位運算符與Ints
- 19. 按位賦值運算符在C#
- 20. C++:Union vs按位運算符
- 21. 將運算符作爲參數傳遞給函數C
- 22. 通過在C哈希碼位運算
- 23. JavaScript按位運算符如何工作?
- 24. 按位運算符如何工作?
- 25. 按位運算符的工作原理
- 26. C#移位運算符過載
- 27. 按鈕作爲鏈接,通過參數
- 28. 通過運算符
- 29. 按位運算符:爲什麼〜35 = -36?
- 30. 按位運算符意外行爲
你不能重載操作 –
@SergeSemenov據https://msdn.microsoft.com/en-us/library/8edha89s.aspx,你確實可以重載位運算符。 – Eris
@Eris,你是對的。我的意思是,不能像Equals方法那樣重載泛型方式。我的錯。 –