Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8424673
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 10, 20262026-06-10T04:03:52+00:00 2026-06-10T04:03:52+00:00

string.Format has following method signature string.Format(format, params, .., .. , ..); I want to

  • 0

string.Format has following method signature

string.Format(format, params, .., .. , ..);

I want to pass custom format each time like

string custFormat = "Hi {0} ... {n} ";   // I only care about numbers here, and want avoid  {abdb}
string name = "Foo";

string message = ProcessMessage(custFormat, name);

public string ProcessMessage(custFormat, name)
{
   return string.Format(custFormat, name);
}

I want to validate the value in custFormat before passing to ProcessMessage to avoid exception.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-10T04:03:53+00:00Added an answer on June 10, 2026 at 4:03 am

    Let’s think about this API, if it exists. The goal is to pre-validate a format string, to make sure String.Format won’t throw.

    Note that any string which doesn’t contain a valid format slot is a valid format string – if you don’t try to insert any replacements.

    -> So we would need to pass in the number or args we expect to replace

    Note that there are tons of different specialty formatting patterns, each with a specific meaning for specific types: http://msdn.microsoft.com/en-us/library/system.string.format.aspx

    Although it seems that String.Format won’t throw if you pass a format string which doesn’t match your argument type, the formatter becomes meaningless in such cases. e.g. String.Format("{0:0000}", "foo")

    -> So such an API would be truly useful only if you passed the types of the args, as well.

    If we already need to pass in our format string and an array of types (at least), then we are basically at the signature of String.Format, so why not just use that and handle the exception? It would be nice if something like String.TryFormat existed, but to my knowledge it doesn’t.

    Also, pre-validating via some API, then re-validating in String.Format itself is not ideal perf-wise.

    I think the cleanest solution might be to define a wrapper:

    public static bool TryFormat(string format, out string result, params Object[] args)
    {
       try
       {
          result = String.Format(format, args);
          return true;
       }
       catch(FormatException)
       {
          return false;
       }
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

i have a string which has the following format (3,1,Mayer,Jack). I need all 4
string format is always like this FirstName=ABC;LastName=XZY;Username=User1;Password=1234. I need the only UserName value (which
?string.Format(CultureInfo.GetCultureInfo(en-US), {0:d}, now) 4/12/2010 ?string.Format(CultureInfo.GetCultureInfo(fr-FR), {0:d}, now) 12/04/2010 I want to write a method:
I have the following query method that has slow performance: @Override public Map<String, Long>
string.Format() with it's bla {0} bla syntax is great. But sometimes I don't want
Custom string format to xml help needed. Java and C#. [Node(X)][CHILD0(Y)][OBJECT1(A)][Key1(1)][Key2(2)] [Node(X)][CHILD0(Y)][OBJECT1(B)][Key1(1)][Key2(2)][Key3(3)] [Node(X)][CHILD0(Y)][OBJECT1(C)][Key1(4)] [Node(X)][CHILD0(Y)][OBJECT2(A)][Key1(1)][Key2(2)][Key3(3)]
Consider the method declaration: String.format(String, Object ...) The Object ... argument is just a
I am using standard String.Format method. It is using numeric objects. Console.WriteLine(obj1 = {0}
I have a static method like this public static string DoSomethingToString(string UntrustedString) { //parse
Given the following method: (real method has a few more parameters, but the important

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.