gpt4 book ai didi

c# - 如果 with 关键字不好(对于 C#),这是一个不错的选择吗?

转载 作者:行者123 更新时间:2023-11-30 19:35:12 26 4
gpt4 key购买 nike

var insInvoice = new NpgsqlCommand(
@"INSERT INTO invoice_detail(
invoice_id,
invoice_detail_id,
product_id,
qty,
price,
amount)
VALUES (
:_invoice_id,
:_invoice_detail_id,
:_product_id,
:_qty,
:_price,
:_qty * :_price)", c);


with(var p = insInvoice.Parameters)
{
p.Add("_invoice_id", NpgsqlDbType.Uuid, 0, "invoice_id");
p.Add("_invoice_detail_id", NpgsqlDbType.Uuid, 0, "invoice_detail_id");
p.Add("_product_id", NpgsqlDbType.Uuid, 0, "product_id");
p.Add("_qty", NpgsqlDbType.Integer, 0, "qty");
p.Add("_price", NpgsqlDbType.Numeric, 0, "price");
}

kludge:

for(var p = insInvoice.Parameters; false;)
{
p.Add("_invoice_id", NpgsqlDbType.Uuid, 0, "invoice_id");
p.Add("_invoice_detail_id", NpgsqlDbType.Uuid, 0, "invoice_detail_id");
p.Add("_product_id", NpgsqlDbType.Uuid, 0, "product_id");
p.Add("_qty", NpgsqlDbType.Integer, 0, "qty");
p.Add("_price", NpgsqlDbType.Numeric, 0, "price");
}

最佳答案

当你有一个正确形式的“添加”方法时,你可以为参数使用一个集合初始化器:

var insInvoice = new NpgsqlCommand(sql)
{
Parameters =
{
{ "_invoice_id", NpgsqlDbType.Uuid, 0, "invoice_id" },
{ "_invoice_detail_id", NpgsqlDbType.Uuid, 0, "invoice_detail_id" },
{ "_qty", NpgsqlDbType.Integer, 0, "qty" },
{ "_price", NpgsqlDbType.Numeric, 0, "price" }
}
};

有关对象和集合初始值设定项的更多信息,您可以下载 C# in Depth 的第 8 章免费。

关于c# - 如果 with 关键字不好(对于 C#),这是一个不错的选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/384262/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com