Need Help on String.Format() method

  • Thread starter Thread starter Lucky
  • Start date Start date
L

Lucky

hi guys!
back again with another query.
the problem is like this.

i want to print a line like this:
"---------------------------------------------"

the easiest way is to simply assign it to string and print it.
but i want to use the String.Format() method if possible to do it.

All i came to know about this method is, you can use
String.Format("{argumentIndex[,alignment][:formatString]}",argumentIndex)

do specify paddin and some format. but i dont get it how to provide the
formatstring. i guess it is for formating the argument if i'm not
wrong.
so guys, i need your help here.
i want to do something like this
String.Format("{0,40}","-")

this way it should return me the string filled with 40 dashes.

if there is any better way to do it, please let me know.
i'm trying to learn something about String object. Please help me.

Thanks,

Lucky
 
You're barking up the wrong tree here, Lucky.

The String Object does not implement IFormattable, because an instance of
System.String is already a string. Therefore, you can not use String.Format
to format a string. The String.Format method replaces the "format item(s)"
represented by the substring(s) having curly brackets in the string, with
Formatted text representations of the objects that are in the parameter or
parameters (depending on the overload you use) following the string
parameter. There is one overload that takes an IFormatProvider as the first
argument, enabling you to create a custom IFormatter class to use as the
Formatter for the object(s) represented by the parameter(s) following the
string parameter.

It is a way of creating a string that contains data that is not of the
string type, without having to do a lot of formatting and concatenation to
do it. For example, let's say that you have a DateTime variable, and you
want to put the DateTime variable into a user-friendly string message in a
label on a Form. You could do something like the following:

DateTime d = DateTime.Now;
string s = "Today's date is ";
s += d.ToString("dd/MM/yyyy");

Using the static String.Format method, you can simply use:

string s = String.Format("Today's date is {0:dd/MM/yyyy}, DateTime.Now);

In other words, if you're really doing this to understand System.String, the
only thing you will learn about System.String from this is how the
String.Format method works, *not* how to use the String.Format method to
create a string containing a series of identical characters.

For more information, see:

http://msdn2.microsoft.com/en-us/library/fbxft59x.aspx
http://msdn2.microsoft.com/en-us/library/26etazsy.aspx
http://msdn2.microsoft.com/en-us/library/system.string.aspx

--
HTH,

Kevin Spencer
Microsoft MVP
Ministry of Software Development
http://unclechutney.blogspot.com

Never trust a dunderhead with a blunderbuss.


Lucky said:
hi guys!
back again with another query.
the problem is like this.

i want to print a line like this:
"---------------------------------------------"

the easiest way is to simply assign it to string and print it.
but i want to use the String.Format() method if possible to do it.

All i came to know about this method is, you can use
String.Format("{argumentIndex[,alignment][:formatString]}",argumentIndex)

do specify paddin and some format. but i dont get it how to provide the
formatstring. i guess it is for formating the argument if i'm not
wrong.
so guys, i need your help here.
i want to do something like this
String.Format("{0,40}","-")

this way it should return me the string filled with 40 dashes.

if there is any better way to do it, please let me know.
i'm trying to learn something about String object. Please help me.

Thanks,

Lucky
 
Please explain what IFormattable is i don't understand most of this,
and too am trying to learn as much as I can.

Thankyou
 
Please explain what IFormattable is i don't understand most of this,
and too am trying to learn as much as I can.

If you look up IFormattable in MSDN, there's lot of information there.

Jon
 
If you look at the 3 links I posted, the IFormattable interface, as well as
everything else I referred to, is explained in those references.

--
HTH,

Kevin Spencer
Microsoft MVP
Ministry of Software Development
http://unclechutney.blogspot.com

Never trust a dunderhead with a blunderbuss.
 
* Lucky wrote, On 24-11-2006 13:33:
hi guys!
back again with another query.
the problem is like this.

i want to print a line like this:
"---------------------------------------------"

the easiest way is to simply assign it to string and print it.
but i want to use the String.Format() method if possible to do it.

All i came to know about this method is, you can use
String.Format("{argumentIndex[,alignment][:formatString]}",argumentIndex)

do specify paddin and some format. but i dont get it how to provide the
formatstring. i guess it is for formating the argument if i'm not
wrong.
so guys, i need your help here.
i want to do something like this
String.Format("{0,40}","-")

this way it should return me the string filled with 40 dashes.

if there is any better way to do it, please let me know.
i'm trying to learn something about String object. Please help me.

Lucy,

You could try:

string dashes = string.Empty.PadLeft(40,'-');

Jesse
 
Why don't you just create the string using one of the overloads of the
String constructor?!!?

Dim vDashes As String = New String("-"c, 40)

HTH
_______________________________________
The Grim Reaper
 
I must say, very helping people around here. thanks everybody for your
informative replies. i learnt lot from your replies but i must
appriciate the replay from Google MSDN which was to the point.

Lucky
 
Back
Top