Team Foundation Server Hosting
Skip Navigation Links
C# Corner Home
Forum Home
Latest 50
Unanswered
Win Prizes
All Time Leaders
Jump to CategoryExpand Jump to Category
Login 
    Welcome Guest!
 Search Forum For :  
X
 Login
Please login to submit a new post, reply and edit exiting posts, see user profiles, and access more features. If you are not a registered member, Register here.
User Id / Email:
Password:  
Forgot Password | Forgot UserName
   Home » C# Language » string.Format()
       
Author Reply
Maha
posted 816 posts
since Aug 13, 2006 
from

string.Format()

  Posted on: 10 Feb 2012       
string s = name + " " + balanceDue + " " + discountRate + " " + sinceYear;
return s;

In the above code a value is assigned to variable s which type is string then s is returned.

But in the following statement string.Format() method is directly returned. Why we can't do above similar thing when we use string.Format() method that means assigned to variable and that variable is returned. I wish to know the reason for the differences in both cases. 

return string.Format("{0} {1} {2} {3}", name, balanceDue, discountRate, sinceYear);

using System;
class Customer
{
protected string name;
protected double balanceDue;

public Customer()
{
name = "Maha";
balanceDue = 0;
}
}
class PreferredCustomer : Customer
{
private double discountRate;
private int sinceYear;

public PreferredCustomer()
{
discountRate = 0.08;
sinceYear = 1997;
}
public new string ToString()
{
//string s = name + " " + balanceDue + " " + discountRate + " " + sinceYear;
//return s;

return string.Format("{0} {1} {2} {3}", name, balanceDue, discountRate, sinceYear);
}
}
class DemoPreferredCustomerConstructor2
{
public static void Main()
{
PreferredCustomer pc = new PreferredCustomer();
Console.WriteLine("The preferred customer is {0}", pc.ToString());

Console.ReadKey();
}
}
/*
The preferred customer is Maha 0 0.08 1997
*/


Sam Hobbs
posted  6490 posts
since  Sep 07, 2009 
from  Los Angeles, California, USA

 Re: string.Format()
  Posted on: 11 Feb 2012        0  
What happens when you try doing it the way you think cannot be done? You are probably getting an error that is not relevant and then you assume it cannot be done.
Thinking is a feeling; pleasant for some and unpleasant for others.
Vulpes
posted  5419 posts
since  Feb 28, 2011 
from 

 Re: string.Format()
  Posted on: 11 Feb 2012        0  
You could in fact do it like this:

   string s = string.Format("{0} {1} {2} {3}", name, balanceDue, discountRate, sinceYear); 
   return s;

You could also do this:

   return name + " " + balanceDue + " " + discountRate + " " + sinceYear;

Which you prefer is a matter of taste.

Many developers would prefer to avoid creating an unnecessary local variable and just return the string expression directly. Others would feel that creating an intermediate variable and then returning that was clearer.

Similarly, whether you prefer to use String.Format or just concatenate the strings yourself is also a matter of a taste. Personally, I've always liked the former as I think it's neater and less likely to lead to errors, but I'm not always consistent in what I use.

Sam Hobbs
posted  6490 posts
since  Sep 07, 2009 
from  Los Angeles, California, USA

 Re: string.Format()
  Posted on: 11 Feb 2012        0  
Note that I would prefer to help Maha understand why Maha misunderstood, so that is why I did not write a lengthy explanation. I wanted to help Maha get a deeper understanding. We might never be able to do that. I say that because most people are going to think that I did not write more only because I wanted to save time and I did not care enough about helping to spend more time writing an explanation.
Thinking is a feeling; pleasant for some and unpleasant for others.
Maha
posted  816 posts
since  Aug 13, 2006 
from 

 Re: string.Format()
  Posted on: 11 Feb 2012        0  
Thank you for your explanation.
       
Dynamic PDF
ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications. Visit DynamicPDF here
Introducing MaxV - one click. infinite control. Hyper-V Hosting from MaximumASP.
Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
Nevron Chart for .NET 2010.1 Now Available
The leading .NET charting control now features PDF, Flash and Silverlight export, visualization of large datasets and more. Deliver true charting functionality to your BI, Scorecard, Presentation or Scientific apps. Download evaluation now.
ASP.NET 4 Hosting
Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites - Click Here!

 Hosted by MaximumASP  |  Found a broken link?  |  Contact Us  |  Terms & conditions  |  Privacy Policy  |  Site Map  |  Advertise with us
Current Version: 5.2011.3.12
 © 1999 - 2012  Mindcracker LLC. All Rights Reserved