gpt4 book ai didi

c# - 将值添加到字符串会导致添加额外的空格

转载 作者:太空宇宙 更新时间:2023-11-03 18:03:26 24 4
gpt4 key购买 nike

我执行的查询将结果集带回query对象。要建立一个代表查询结果的对象,我要做的是:

var customer = new Customer
{
CustomerAddress = $"{query.CustomerAddress} {query.City} {query.State} {query.Zip} {query.Country}",
CustomerPhone = $"{query.PhoneNumber}"
};


现在,如果所有 query属性都已填充,则可以正常工作。但是我意识到,如果我仅具有 Country的值,则在国家名称之前会放置四个额外的空格。

在这种情况下, customer.CustomerAddress变为 " United Kingdom"

调试时,在查询上放置一个断点,可以看到 query.Country前面没有空格,其中包含 United Kingdom

我知道我可以使用 Trim()修剪任何空白,但是我想知道为什么会出现这种现象。

我想避免任何空格,如果


客户地址


压缩
国家


在查询结果集中为空。

最佳答案

使您的代码远离条件运算符(每个属性为string.IsNullOrWhiteSpace(query.City) ? "" : " " + query.City)的一种解决方案是将要打印的所有属性添加到数组,并在不为空的情况下将其与空格连接起来:

var addressFields = new string[]
{
query.CustomerAddress,
query.City,
query.State,
query.Zip,
query.Country,
}

string address = string.Join(" ", addressFields.Where(a => !string.IsNullOrWhiteSpace(a)));

关于c# - 将值添加到字符串会导致添加额外的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42136254/

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