String Interpolation with format variable

后端 未结 6 1990
心在旅途
心在旅途 2020-11-27 22:08

I can do this:

var log = string.Format(\"URL: {0}\", url);

or even like this

var format = \"URL: {0}\";
...
var log = strin         


        
6条回答
  •  独厮守ぢ
    2020-11-27 22:36

    One approach to work around that would be to use a lambda containing the interpolated string. Something like:

    Func formatter = url => $"URL: {url}";
    ...
    var googleUrl = "http://google.com";
    ...
    var log = formatter(googleUrl);
    

    In C# 7.0, you could use a local function instead of a lambda, to make the code slightly simpler and more efficient:

    string formatter(string url) => $"URL: {url}";
    ...
    var googleUrl = "http://google.com";
    ...
    var log = formatter(googleUrl);
    

提交回复
热议问题