c# - 如何检查 Button.Tag 的第一个字母?
问题描述
所以我在我的代码中订购了带有标签的按钮,标签的第一个字母决定它是一组按钮还是另一组。我需要检查一个按钮是否在一个组或另一个组中,并且我正在尝试检查标签的第一个字母,就像一个普通的字符串 with
((Button)sender).Tag[0] == 'W'
和 with((Button)sender).Tag.FirstOrDefault() == 'W'
但代码给了我一个错误。我错过了什么?
解决方案
在 WPF 和 Winforms 中,Tag
都声明为object
. 因此,您需要将其转换为字符串:
var button = ((Button)sender);
var tagString = (string)button.Tag;
if (tagString[0] == 'W') ...
如果您不确定 Tag 是否始终是字符串,您可以使用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') ...
推荐阅读
- reactjs - 如何将状态从子组件传递到父组件?
- python - 我正在使用装饰器,但它没有返回,为什么?
- php - 使用图像干预的 Laravel 渐进式图像
- wso2is - WSO2 碳加密服务缺少属性
- css - 如何在 Bootstrap 4 中跨越两行
- ios - 如何使用swift在iOS中附加特殊字符?
- java - RestAssured:发布请求返回 500 服务器错误
- python - AttributeError: 'function' 对象没有属性 'set_mode'
- python - Python中文件创建时间和当前时间不匹配
- xamarin - Xamarin Forms 自动调整 ScrollView 中的元素