相关疑难解决方法(0)

有没有更好的方法来计算C#中字符串中的字符串格式占位符?

我有一个模板字符串和一个参数数组来自不同的来源,但需要匹配以创建一个新的"填充"字符串:

string templateString = GetTemplate();   // e.g. "Mr {0} has a {1}"
string[] dataItems = GetDataItems();     // e.g. ["Jones", "ceiling cat"}

string resultingString = String.Format(templateString, dataItems);
// e.g. "Mr Jones has a ceiling cat"
Run Code Online (Sandbox Code Playgroud)

使用此代码,我假设模板中字符串格式占位符的数量将等于数据项的数量.在我的情况下,这通常是一个公平的假设,但resultingString即使假设是错误的,我也希望能够产生一个不失败的假设.我不介意是否有空格来丢失数据.

如果项目太多dataItems,该String.Format方法处理得很好.如果还不够,我会得到一个例外.

为了解决这个问题,我计算占位符的数量,并在dataItems数组中添加新项目(如果没有足够的话).

为了计算占位符,我目前正在处理的代码是:

private static int CountOccurrences(string haystack)
{
    // Loop through all instances of the string "}".
    int count = 0;
    int i = 0;
    while ((i = text.IndexOf("}", i)) != -1)
    {
        i++;
        count++;
    }
    return count; …
Run Code Online (Sandbox Code Playgroud)

.net c# string

13
推荐指数
3
解决办法
7019
查看次数

String有多少个参数

在使用String.Format格式化C#中的字符串之前,我想知道该字符串接受了多少个参数?

例如.如果字符串是"{0}与{1}不同",我想知道这个字符串接受两个参数,例如.如果字符串是"{0}与{1}和{2}不同",则该字符串接受3个参数

我怎样才能有效地找到它?

c# string format parameters

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

标签 统计

c# ×2

string ×2

.net ×1

format ×1

parameters ×1