我正在从一个无法控制的输入文本文件中读取值。第一行是一个整数,表示接下来的行数。下面每一行包含三个字符中的一个,这些字符可以在下一个枚举中找到:
enum Size {
S,
M,
L
}
如果流不能将值直接插入大小数据类型中。因此,下面的代码无法将所有值存储在数据类型大小的向量中
enum Size {
S,
M,
L
}
unsigned lines_count;
std::vector<Size> data;
file >> lines_count;
for (auto i = 0u; i < lines_
描述基本上就是问题。
我有一个CSV文件,我将其加载到数据库的表中。然后我(SELECT * FROM tablename into OUTFILE '...')并检查两个CSV是否相等。我这样做是为了确保数据库被正确加载。
我的问题是其中一个字段是ENUM类型。我用来加载表的CSV包含整数表示形式(因为我无法控制),而输出文件CSV包含字符串表示形式。在创建输出文件时,有没有办法将ENUM转换为整数值?我觉得这似乎是一件很容易做的事情,但我在谷歌上找不到答案。
注意:我必须对许多不同的表执行此操作,因此很难逐个处理每个表。
class Program
{
static void Main(string[] args)
{
String value = "Two";
Type enumType = typeof(Numbers);
Numbers number = (Numbers)Enum.Parse(enumType, value);
Console.WriteLine(Enum.Parse(enumType, value));
}
public enum Numbers : int
{
我想知道是否有任何聪明的技巧,如何安全地将整数转换为枚举。在您投票认为这是重复之前,我并不是在问如何转换(int i; Enum e = static_cast<Enum>(i)很容易)。我在问如何安全地做这件事,验证最终的值是否真的在枚举中。
以下代码
enum class E {
A = 1,
B = 2
};
int main(int, char **) {
int i = 3;
E e = static_cast<E>(i);
}
将编译(AFAIK),但e将不包含枚举中的有效值。我想出的最好办法是
switch (i) {
我试图在下面的建议,但没有任何工作,我已经编辑了代码,以使更容易。此代码的目的是根据枚举获取数据行。
例如:如果我给出搜索的值"bra“,那么想要的结果应该是从enum得到的巴西,但是由于enum是int,所以我说如果我们假设巴西=3在枚举中,就选择位置=3的数据。
public LocationType Location { get; set; }
public enum LocationType
{
brazil,
USA,
UK
}
public async Task<IActionResult> Index(string id,
我的职能是:
isAuthenticationExpired = (expirationDate: Date) => {
var now = new Date();
if (expirationDate - now > 0) {
return false;
} else {
return true;
}
}
expirationDate和now都是日期类型。
打字本给了我一个错误,说:
Error 3 The left-hand side of an
我正在寻找一种更好的方法来构造我的应用程序,这样我就可以使用实体框架来处理枚举,并且在我需要使用TSQL存储过程的情况下,在linq上使用通用表表达式etc.It看起来很棒,但是在TSQL方面,它看起来不太好(例如在投影结果时和您想要枚举字符串值时)。我已经查看了EF enum support教程和其他来自web的示例,所以我似乎找不到一种标准的方法。
教程中的部分代码
public enum DepartmentNames
{
English,
Math,
Economics
}
public partial class Department
{
public in