所以我在我的代码中订购了带有标签的按钮,标签的第一个字母决定它是一组按钮还是另一组按钮。
我需要检查按钮是否在一组或另一组中,我正在尝试检查标签的第一个字母,就像普通字符串一样
((Button)sender).Tag[0] == 'W'
和 ((Button)sender).Tag.FirstOrDefault() == 'W'
但是代码给我一个错误。我错过了什么?
最佳答案
在 WPF 和 Winforms 中,Tag
都被声明为 object
。因此,您需要将其转换为字符串:
var button = ((Button)sender);
var tagString = (string)button.Tag;
if (tagString[0] == 'W') ...
如果您不确定标签是否始终是字符串,您可以使用 as
-cast:
var button = ((Button)sender);
var tagString = button.Tag as string;
if (tagString != null && tagString[0] == 'W') ...
或者对于 C# 7,您还可以使用模式匹配:
var button = ((Button)sender);
if (button.Tag is string tagString && tagString[0] == 'W') ...
关于c# - 如何检查 Button.Tag 的首字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55480764/