如何在花括号内没有字符串连接的情况下使用字符串格式作为参数?

 bankq 发布于 2023-02-12 15:59

我希望最终用户能够指定自定义日期时间格式以输出到日志文件.(它控制每行的日期时间戳的前缀.)

我使用String.Format与一些串联导致ReSharper警告有关不匹配的大括号.必须有一个更合适的方法来处理这个,但我无法找到它.

string _entry = "Some event.";

public string GetFormattedEntry(string stampFormat)
{
    return String.Format("{0:" + stampFormat + "}: {1}", DateTime.Now, _entry);
}

这个想法是可以使用用户指定的格式字符串调用它,例如"yyyy-MM-dd HH:mm:ss",这将导致:

2013-12-05 14:47:57有些事件.

问题是ReSharper不喜欢拆分大括号用法(我也不喜欢).感觉就像一个黑客.有没有更好的方法将字符串格式传递给方法并使用它来格式化返回值?

(请注意,在假定用户指定的字符串可用之前,将对其进行验证.)

编辑:

为简洁起见,我简化了代码示例.实际方法迭代对象集合并相应地格式化每个对象集合.它还执行涉及富文本格式化等的其他功能,这些功能在此处不相关.

1 个回答
  • 你考虑过一个DateTime.ToString(string format)用法:

    public string GetFormattedEntry(string stampFormat)
    {
        return String.Format("{0}: {1}", DateTime.Now.ToString(stampFormat), _entry);
    }
    

    2023-02-12 16:01 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有