如何使验证更好?

时间:2019-04-10 03:43:13

标签: c# if-statement

我正在为2个品牌进行电话验证,并且两个验证的含义几乎相同,只是数字不同。

        if (!MobileFormat(num, brand,currency))
        {
            if (brand.Equals(Brand.LED.ToString()))
            {
                key = "The number of phone numbers must be "9" digits.";
            }
            else
            {
                key = "The number of phone numbers must be "10" digits.";
            }

        }

我希望密钥位于单行而不是双行,而只能更改数字。

3 个答案:

答案 0 :(得分:3)

尝试以下:

key = string.Format("The number of phone numbers must be {0} digits.", brand.Equals(Brand.LED.ToString()) ? 9 : 10);

答案 1 :(得分:1)

仅在构建字符串之前捕获数字值。

html_url = 'https://markets.wsj.com/'
html_doc = urllib.request.urlopen(html_url).read()

soup = BeautifulSoup(html_doc, 'html.parser')
markets = soup.find(id='majorStockIndexes_moduleId')

marketRows = markets.tbody.find_all('tr')

for row in marketRows:
    for column in row.find_all('td'):
        print(column.text)
        columnType = column.text

query = "INSERT INTO MarketData1 (recordID, stock, last, priceChange, percentChange) VALUES (NULL, %s, %s, %s, %s)"
arguments = (stockName, lastValue, priceChange, percentChange)

使用两行代码,您可以快速地识别出涉及到两个操作并节省了一些水平空间。

答案 2 :(得分:1)

如果任何一个字符串都可以为空,则可以这样做:

if (!MobileFormat(num, brand, currency))
     key = $"The number of phone numbers must be {(Equals(brand, Brand.LED.ToString()) ? 9 : 10)} digits";