You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Blob索引查询中插入C#变量并解决编译报错

报错原因

核心是C#逐字字符串(@前缀)与字符串拼接的语法混用错误:逐字字符串的双引号转义规则(两个双引号代表一个实际双引号)仅在同一个@""包裹的块内生效,你拆分拼接时没有正确闭合字符串块,因此触发编译错误。

正确实现方案

方案1:逐字插值字符串(推荐,C# 6及以上版本支持,可读性最高)

直接使用$@前缀的插值逐字串,无需拆分拼接即可嵌入变量:

var variable1 = "test1";
var variable2 = "test2";

// 基础写法
string query = $@"""folderDepth"" = '{variable1}' AND ""parentFolder"" = '{variable2}'";
安全补充

如果变量值可能包含单引号,需要提前转义避免查询语法错误:

// 转义变量中的单引号,将单引号替换为两个连续单引号
string safeVar1 = variable1.Replace("'", "''");
string safeVar2 = variable2.Replace("'", "''");

string query = $@"""folderDepth"" = '{safeVar1}' AND ""parentFolder"" = '{safeVar2}'";

方案2:传统字符串拼接写法

如果需要用传统拼接方式,确保每个逐字字符串块都正确闭合:

query = @"""folderDepth"" = '" + variable1 + @"' AND ""parentFolder"" = '" + variable2 + "'";

内容的提问来源于stack exchange,提问作者OJB1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 21:54:05