小编Oys*_*ein的帖子

TIMESTAMP 作为 SQLite 数据类型

我刚刚开始在 .NET 应用程序中使用 SQLite。从文档中,我看到可用的数据类型有 NULL、INTEGER、REAL、TEXT 和 BLOB。但是,在示例中,我发现类型为 TIMESTAMP 的列用于以“YYYY-MM-DD HH:MM:SS.SSS”格式存储时间戳。我正在使用“DB Browser for SQLite”应用程序进行测试,TEXT 和 TIMESTAMP 数据类型都可以很好地以上述格式存储时间戳。所以我的问题是:

  1. TIMESTAMP 数据类型是什么?它是某种文本覆盖数据类型吗?
  2. 使用 TIMESTAMP 或 TEXT 是否有任何性能影响或考虑因素?我正在考虑数据类型宽度、处理、条目自动过滤(例如“香蕉”不允许作为 TIMESTAMP 列中的条目)?
  3. 为什么 TIMESTAMP 没有记录在 sqlite.org 上?是否还有其他“这是记录的内容,但这也是可能的”案例,我在哪里可以找到有关它们的信息?

.net sqlite

7
推荐指数
0
解决办法
3453
查看次数

在C中使用枚举名称的枚举成员

我定义了以下枚举:

typedef enum {
    F105 = 0x00,
    F164 = 0x10,
    F193 = 0x20,
    F226 = 0x30,
    F227 = 0x40
}BOARD_TYPE;
Run Code Online (Sandbox Code Playgroud)

为了使代码可读,我想在使用其中一个成员时使用枚举名称.像这样:

void do_work(uint8_t board_type) {
    if (board_type == BOARD_TYPE.F164) {
        // Do stuff...
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,这不编译.我收到一条错误消息"'BOARD_TYPE'之前的预期表达式".

那么使用枚举成员同时引用枚举名称以提高代码可读性的正确方法是什么?

c enums

1
推荐指数
1
解决办法
504
查看次数

使用Find()根据枚举值查找集合中的实例

我正在尝试根据对象中的Enum类型属性在集合中查找对象.但它总是返回NULL,即使我验证集合确实包含具有预期属性值的对象.为什么是这样?

public enum FooEnum
{
    First, Second, Third, Fourth
}

public class Foo
{
    public Enum EnumValue { get; set; }
}

class Program
{
    static void Main(string[] args)
    {
        var fooCollection = new List<Foo>();
        fooCollection.Add(new Foo() { EnumValue = FooEnum.First });
        fooCollection.Add(new Foo() { EnumValue = FooEnum.Second });
        fooCollection.Add(new Foo() { EnumValue = FooEnum.Third });

        var fooSearchInstance = new Foo() { EnumValue = FooEnum.Fourth };

        var fooFoundInstance = fooCollection.Find(f => f.EnumValue == fooSearchInstance.EnumValue);  // NULL, for obvious reasons

        fooSearchInstance.EnumValue …
Run Code Online (Sandbox Code Playgroud)

c# enums

0
推荐指数
1
解决办法
48
查看次数

标签 统计

enums ×2

.net ×1

c ×1

c# ×1

sqlite ×1