小编VBo*_*Cat的帖子

VB.NET等效于C#7类型模式匹配

有没有VB.NET相当于此?请特别注意bmp代码示例中的内容.

public void MyMethod(Object obj)
{
    if (obj is Bitmap bmp)
    {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

或者短模式匹配语法is是C#独有的?

编辑:

我已经知道这些语法:

    If TypeOf obj Is Bitmap Then
        Dim bmp As Bitmap = obj
        ' ...
    End If
Run Code Online (Sandbox Code Playgroud)

要么

    Dim bmp As Bitmap = TryCast(obj, Bitmap)
    If bmp IsNot Nothing Then
        ' ...
    End If
Run Code Online (Sandbox Code Playgroud)

我想知道的是,是否有更短的东西,比如新的C#7语法......

非常感谢你.

vb.net casting c#-7.0

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

Python 链式属性访问中的无传播

Python中是否有一个空传播运算符(“空感知成员访问”运算符),所以我可以写一些类似的东西

var = object?.children?.grandchildren?.property
Run Code Online (Sandbox Code Playgroud)

就像在 C#、VB.NET 和 TypeScript 中一样,而不是

var = None if not myobject\
              or not myobject.children\
              or not myobject.children.grandchildren\
    else myobject.children.grandchildren.property
Run Code Online (Sandbox Code Playgroud)

python null-coalescing-operator null-coalescing method-chaining

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

如何在 Visual Studio 2022 中将选定的代码括在方括号/圆括号中

在 VS Code 和 JetBrains IDE 中,当您选择(突出显示)一段代码并按方括号 ({[) 或圆括号 ( () 的左键时,它会换行所选文本。但是,Visual Studio会删除选定的代码片段,或者更好的是,将其替换为按下的字符。有没有办法将其配置为 VS Code 和 JetBrains 的更智能行为?我浏览了“文本编辑器”设置,但没有找到任何似乎可以执行此操作的设置: 在此输入图像描述

ide code-editor visual-studio visual-studio-2022

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

将嵌套的 JSON 结构反序列化为 Django 模型对象

我需要使用一个服务来发送包含 JSON 序列化嵌套结构的 JSON 响应,我想将其反序列化并存储在我的数据库中 - 我的应用程序使用 Django。

业务规则如下:

  1. 查询返回的对象总是具有id一个唯一的整数createdAt属性,通常是一个属性和一个updatedAt属性,都带有日期时间数据,然后是其他几个基本类型的属性(int、float、str、datetime 等),以及几个属性可以是另一个对象或对象数组。

  2. 如果属性值是一个对象,则父级通过“外键”与它相关联。如果它是一个对象数组,那么我们有两种情况:要么数组的对象通过“外键”与父对象相关联,要么通过“多对多”将父对象与数组的每个成员相关联' 关系。

  3. 我需要在我的数据库中镜像每个对象,所以每个模型都有一个id作为主键的字段,但它不是自动生成的,因为真正的 id 将与导入的数据一起提供。

  4. 所有这些实体之间的关系已经反映在我的模型模式中。我采用这种方法(镜像数据结构)是因为如果我将接收到的数据展平以将其全部保存到单个表中,则会出现可怕的复制,无视所有数据规范化规则。

  5. 对于每个根对象,我需要这样做:

    • 检查数据库中是否已经有该记录 id
    • 在没有的情况下创建一个新记录
    • 如果已有记录,则更新现有记录(如果updatedAt记录和传入数据的值相同,则可能会跳过更新
    • 为每个嵌套对象递归重复这些相同的步骤,这些嵌套对象是为其父属性之一提供的值。

下面我将复制我从服务接收到的数据的一个非常简化的示例,以及我想在其中存储它的模型。真正的东西比那庞大得多,而且复杂得多,这就是为什么我非常想学习一种让 ORM 解决问题的方法,如果它能够的话。硬编码整个事情需要永远,除了很容易出错并且如果将来数据模式发生变化会造成维护地狱。

编辑:指向以下JSON模型先前简化版本的链接*

JSON 示例:

{
  "id": 37125965,
  "number": "029073432019403",
  "idCommunication": "1843768",
  "docReceivedAt": {
    "date": "2019-12-20 08:46:42"
  },
  "createdAt": {
    "date": "2019-12-20 09:01:14"
  },
  "updatedAt": {
    "date": "2019-12-20 09:01:32"
  },
  "branch": {
    "id": …
Run Code Online (Sandbox Code Playgroud)

python django json deserialization json-deserialization

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

SQLite数据库文件放在网络文件夹中时无法打开

有人可以帮助我理解为什么这很好用吗...

Dim cs = "Data Source=C:\folder\Livros.sdb;Version=3;"
Dim cn = New System.Data.SQLite.SQLiteConnection(cs)
cn.Open() ' no exception 
Run Code Online (Sandbox Code Playgroud)

...虽然打开连接时会中断(它是完全相同的文件)...

Dim cs = "Data Source=\\NetworkServer\folder\Livros.sdb;Version=3;"
Dim cn = New System.Data.SQLite.SQLiteConnection(cs)
cn.Open() ' exception: {"unable to open database file"}
Run Code Online (Sandbox Code Playgroud)

...并修复它,因为我需要将数据库文件放置在网络位置,以便无论运行应用程序的计算机如何,我都可以访问它?

非常感谢!

vb.net sqlite sqlite-net

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

如何在查询中包含零计数结果

我有这两个表:

运营商:

Id Nome
--+----
 1 JDOE
 2 RROE
 3 MMOE
Run Code Online (Sandbox Code Playgroud)

呼叫:

Id CallDate OpId
--+--------+----
 1 20161228    2
 2 20161228    3
 3 20161228    2
 4 20161228    3
 5 20170104    1
 6 20170104    2
 7 20170104    1    
Run Code Online (Sandbox Code Playgroud)

而这个查询:

SELECT Operators.id, Operators.Nome, Count(Calls.OpId) AS CountCalls
FROM Operators LEFT JOIN Calls ON Operators.id = Calls.OpId
GROUP BY Calls.CallDate, Operators.id, Operators.Nome
HAVING Calls.CallDate=20170104;
Run Code Online (Sandbox Code Playgroud)

哪个回报:

Id Nome CountCalls
--+----+----------
 1 JDOE          2
 2 RROE          1
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它归还呢?

Id Nome CountCalls
--+----+----------
 1 JDOE          2
 2 …
Run Code Online (Sandbox Code Playgroud)

sql ms-access outer-join

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

为 SQLite v3 数据库设置密码

我的应用程序使用存储在通过网络提供的文件中的数据库。到目前为止,我一直在使用MS-Access文件 (.accdb),但我正在尝试迁移到SQLite Version 3 (.db3)

我将 SQLite NuGet 包添加到我的项目中,并使用SQLiteStudio创建了一个 SQLite 数据库。我重构了我的数据库对象以使用System.Data.SQLite.SQLiteConnection而不是System.Data.OleDb.OleDbConnection它运行良好。

但是,我以前的accdb数据库受密码保护,我不知道如何在我当前的 SQLite 数据库上应用密码。

谁能教我怎么做?提前致谢!

vb.net sqlite system.data.sqlite

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

“manage.py startapp”不会创建db.sqlite3

我正在遵循在线教程来学习 Django/Python。我使用 PyCharm 社区版作为我的 IDE。在 Windows 10 上。

当我在终端窗口中的提示符python manage.py startapp myapp下运行时(venv),没有显示错误,并且\myapp使用预期内容创建了文件夹。但是,该文件db.sqlite3尚未创建,我无法完成本教程的其余部分。

这里可能出了什么问题?

非常感谢。

python django pycharm

-3
推荐指数
1
解决办法
1635
查看次数