enums 相关问题

一种数据类型,由一组名为元素,成员或类型的枚举器的命名值组成。

C# 中不同文件中的单独大枚举列表

我面临着一个大 Enum 文件的可扩展性问题,该文件有超过 1700 条记录。 我必须向此枚举添加更多记录,并且我正在考虑创建一个新的枚举文件以避免添加更多记录

回答 1 投票 0

匹配部分移动的枚举 Rust

我遇到了一个问题,我通过根据枚举的匹配来移动值来消耗枚举的内容。完成此操作后,我想返回该计算值以及 ano...

回答 1 投票 0

Flag 枚举中所有值的表示

我想在我的 python Flags 枚举中有一个“ALL”标志 myenum.EVERY_MEMBER & myenum.ALL == myenum.EVERY_MEMBER 确实如此。我目前有: 从枚举导入标志,自动 班级

回答 5 投票 0

SwiftUI @Observable 类 ViewModel 在设置枚举变量时被初始化两次,但不是类 ViewModel: ObservableObject

在设置枚举变量时,为我的 @Observable 类 ViewModel 使用新的观察框架时,我的 ViewModel 被初始化两次时出现问题。尝试将其改回...

回答 1 投票 0

在可视化脚本中从 Enum 获取 int 值 (Unity)

我正在 Unity 中使用可视化脚本创建一个游戏。 我在 C# 脚本中创建了一个枚举,因为我读到我们无法在可视化脚本中创建枚举(如果有人知道如何做到这一点,我将非常感激...

回答 1 投票 0

将整数解释为 Python 枚举标志

我在将整数解释为枚举标志时问了这个问题,但没有像我应该的那样清楚地说明挑战。我正在寻找如何获取纯整数,而不是类基的实例......

回答 2 投票 0

Mongoose - 枚举字符串数组

我有一个架构,其属性具有预定义的字符串数组类型。 这就是我尝试做的: 兴趣:{ 类型:[字符串], 枚举:['足球'、'篮球'、'阅读...

回答 6 投票 0

检查值是否在枚举内的惯用方法

我想检查某个枚举的值集中是否存在某个字符串值。这是我所做的: 从枚举导入枚举 类颜色(str,枚举): 红色=“红色” 绿色=“绿色”...

回答 4 投票 0

我可以在 Java 枚举上使用构建器模式吗

我正在重写一些代码,并且我已经决定了重新创建类的方法,因为有固定数量的工作表,我将它们创建为枚举。这是基于构建器的可读性的决定

回答 3 投票 0

C#:检查一组枚举值的最佳方法?

假设你有 枚举 MyEnum {A = 0,B = 1,C = 2,D = 4,E = 8,F = 16}; 在某些时候,您有一个函数将检查 MyEnum 的实例,如果它是 C、D 或 F,则返回 true bool IsCDF(M...

回答 8 投票 0

将枚举转换为字符串的最佳实践方法是什么?

我有这样的枚举: 公共枚举对象类型 { 类型一, 类型二, 类型三, ... 类型二十 } 然后我需要将此枚举转换为字符串。现在我这样做: 公共...

回答 11 投票 0

如何在 Spring Boot 中为枚举类型返回正确的验证错误?

我创建了一个演示 Spring Boot 应用程序。该请求接受一个汽车对象并返回该对象。我正在尝试找出一种方法,如果 carType 不是 v,则向用户发送正确的消息...

回答 1 投票 0

Blazor 自定义下拉列表,具有 HTML 选择并按文本排序,而不是枚举值

我正在尝试为枚举构建一个自定义 Blazor 下拉组件,该组件能够按枚举成员的显示值/文本对其进行排序。我有以下代码: 我正在尝试为枚举构建一个自定义 Blazor 下拉组件,该组件能够按枚举成员的“显示值/文本”对枚举成员进行排序。我有以下代码: <div> <select value="@this.SelectedValue" @onchange="@this.OnSelectedValueChanged" @key="@this.Items"> @foreach (var value in this.Items) { // Use enum value as value and display name as text. if (value is Enum enumName) { <option id="@value" value="@value">@enumName.GetDisplayName(CultureInfo.CurrentCulture)</option> } } </select> </div> 排序顺序枚举: public enum SortOrder { None, Ascending, Descending } 在文件后面的代码中: private List<TItem?> OriginalItems { get; set; } = []; [Parameter] [EditorRequired] public IEnumerable<TItem?> Items { get; set; } = []; [Parameter] public TItem? SelectedValue { get; set; } [Parameter] public EventCallback<TItem?> SelectedValueChanged { get; set; } [Parameter] public EventCallback<TItem?> OnValueChanged { get; set; } [Parameter] public SortOrder SortOrder { get; set; } protected override void OnInitialized() { base.OnInitialized(); this.OriginalItems = this.Items.ToList(); this.SortItems(); } protected async Task OnSelectedValueChanged(ChangeEventArgs args) { if (args.Value is not string value) { return; } if (this.SelectedValue is Enum _) { try { var result = (TItem?)Enum.Parse(typeof(TItem?), value); await this.SelectedValueChanged.InvokeAsync(result); await this.OnValueChanged.InvokeAsync(result); } catch { // ignored } } } private void SortItems() { if (this.SortOrder == SortOrder.None) { return; } if (typeof(TItem).BaseType == typeof(Enum)) { this.Items = this.SortOrder == SortOrder.Ascending ? [.. this.Items.OrderBy(f => (f as Enum)?.GetDisplayNameForEnum(CultureInfo.CurrentCulture))] : [.. this.Items.OrderByDescending(f => (f as Enum)?.GetDisplayNameForEnum(CultureInfo.CurrentCulture))]; } } GetDisplayValue函数仅获取枚举的显示值,并为放入下拉列表中的所有枚举实现,例如: private static string GetDisplayName(this SortOrder order, CultureInfo culture) { var de = culture.Name.StartsWith("de"); return order switch { SortOrder.None => de ? "Keine" : "None", SortOrder.Ascending => de ? "Aufsteigend" : "Ascending", SortOrder.Descending => de ? "Absteigend" : "Descending", _ => $"[[{type}]]" }; } 还有一个用于过滤的输入字段、过滤方法、过滤器大小以及其他一些内容,例如设置的 id。但是,我删除了它们,因为它们与问题无关。 TItem 是一个通用成员(在我的例子中仅用于枚举)。 当我将组件添加到页面时,初始排序起作用。搜索作品。但是,当我选择其中一项时,排序将被忽略,并且 select 似乎会按枚举成员值回退/“排序”(例如,value= 的 option 中指定的内容)。有没有办法始终让 select 按显示名称排序,即使在值选择更改后(调用 OnSelectedValueChanged() 后)? 提示:在SortItems()结束时调用OnSelectedValueChanged()不起作用。 提示 2:在 SortItems() 中的 this.OriginalItems = this.Items.ToList(); 之前调用 OnInitialized() 也没有帮助。 提示 3:对列表进行排序后,使用 this.Items 的列表索引作为选择中的值不起作用,并且会降级,即所选值已正确设置,但不再显示在下拉列表中。 我现在想出的解决方案是重写 SortItems 函数以返回一个值,无论集合是否更改(例如重新排序),然后使用 OnAfterRender() 调用 StateHasChanged()。 变化: protected override void OnAfterRender(bool firstRender) { if (!firstRender) { if (this.SortItems()) { this.StateHasChanged(); } } base.OnAfterRender(firstRender); } private bool SortItems() { if (this.SortOrder == SortOrder.None) { return false; } if (typeof(TItem).BaseType == typeof(Enum)) { var initialItems = this.Items.ToList(); this.Items = this.SortOrder == SortOrder.Ascending ? [.. this.Items.OrderBy(f => (f as Enum)?.GetDisplayName(CultureInfo.CurrentCulture))] : [.. this.Items.OrderByDescending(f => (f as Enum)?.GetDisplayName(CultureInfo.CurrentCulture))]; return !Enumerable.SequenceEqual(initialItems, this.Items); } return false; }

回答 0 投票 0

为什么我在 Enum->String 转换时收到“可能为空引用”警告?

我有一个 ArmorType 类型的私有字段。这是一个枚举。然后,我创建一个公共属性,以字符串形式返回该枚举值。但随后 Visual Studio 2022 告诉我存在可能为空

回答 1 投票 0

Typescript 中的常量枚举

我有一个使用 Typescript 的 React 应用程序。现在我遇到了 const enum 的问题。这是我的枚举: 导出 const enum Snack { 苹果 = 0, 香蕉=1, 橙色=2,

回答 2 投票 0

如何在启用混淆器的情况下保持枚举工作?

我开发了一个Android应用程序,在许多模块中使用Enums。现在我正在尝试保护我的应用程序免受逆向工程的影响,为此我在我的应用程序中启用了 proguard...

回答 2 投票 0

在 Haskell 中定义枚举的更好方法

我想要一种数据类型来表示可以通过特定名称寻址的有限整数集。我认为最好的方法是使用枚举。 然而,有一个小问题。唯一的...

回答 6 投票 0

如何在 Thymeleaf 中使用枚举作为方法参数?

我正在尝试调用一个方法,该方法将枚举作为我的 Thymeleaf 模板中的参数。枚举非常简单: 公共枚举语言{ C, 爪哇, 点网 } 正在调用的方法...

回答 1 投票 0

我可以导入 VBA 代码中的公共枚举作为 Access 中表字段的列表吗?

假设我在 Microsoft Access 数据库中有以下 VBA 代码。 选项比较数据库 公共枚举测试数据 富= 0 条 = 1 巴兹 = 2 结束枚举 仅供参考,我声明

回答 2 投票 0

pandas 数据框中的枚举,无法在枚举列上进行 groupby 吗?

我刚刚了解了枚举,并认为它们适合我正在编码的东西。但是当我运行这段代码时,出现错误。我是否试图做一些我不应该做的事情或者这是一个错误? 当...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.