473,394 Members | 1,735 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

Beginner's question

When to use "readonly" and when to use "const"?
Could you explain me please?
Thank you very much!
/RAM/
Jun 21 '06 #1
4 1157
R.A.M. wrote:
When to use "readonly" and when to use "const"?
Could you explain me please?
Thank you very much!


'const' is evaluated at compile time, while 'readonly' -- at runtime.
The former is more efficient, but may have implications. If you
have an assembly which declares some public 'const' members and another
assembly which references it and uses that members, the second assembly
will have that values 'imprinted'. Which means that if you ever need
to change the value in the referenced assembly, you will need
to recompile and redistribute the referencing assembly too.

One more difference is that 'const' is also 'static' by definition.

Also, if your variable is not of primitive type (numeric or string)
you have no choice, only 'readonly' can be used.

I would say, in more cases than not 'readonly' is a better choice
since it guarantees correctness.
Jun 21 '06 #2
at
R.A.M. wrote:
When to use "readonly" and when to use "const"?
Could you explain me please?
Thank you very much!
/RAM/

Here is a great reference:
http://www.aspnetpro.com/newslettera...200405bw_l.asp
Jun 21 '06 #3
Hi,

The MSDN for const is very especific about this:

Note The readonly keyword is different from the const keyword. A const
field can only be initialized at the declaration of the field. A readonly
field can be initialized either at the declaration or in a constructor.
Therefore, readonly fields can have different values depending on the
constructor used. Also, while a const field is a compile-time constant, the
readonly field can be used for runtime constants as in the following
example:
public static readonly uint l1 = (uint) DateTime.Now.Ticks;

--
--
Ignacio Machin,
ignacio.machin AT dot.state.fl.us
Florida Department Of Transportation
"R.A.M." <r_********@poczta.onet.pl> wrote in message
news:no********************************@4ax.com...
When to use "readonly" and when to use "const"?
Could you explain me please?
Thank you very much!
/RAM/

Jun 21 '06 #4
Functionally, the difference is that a const must be and can only be assigned
on the line it is declared. A readonly variable can be assigned either on
the declaration line or in a constructor. I've also read (but haven't
verified) that consts are handled more efficiently.

Generally I would say prefer a const over a readonly variable unless the
value is only known at executin time.

--
Jeffrey Hornby
Hornby Consulting, Inc.

"R.A.M." wrote:
When to use "readonly" and when to use "const"?
Could you explain me please?
Thank you very much!
/RAM/

Jun 21 '06 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

11
by: Svens | last post by:
Hey everyone! I'm a math student working on a short script involving logs. I have a function on my scientific calculator, and was wondering if there was a similar funtion in python. For example:...
3
by: jvax | last post by:
Hi all, I hope I'm posting in the right NG... I have a data text file I want to read from a c++ program. the data file goes like this: 90 # number of balls 33 42 13
1
by: Mike Malter | last post by:
I am just starting to work with reflection and I want to create a log that saves relevant information if a method call fails so I can call that method again later using reflection. I am...
14
by: z_learning_tester | last post by:
But I can't seem to find the answer. The question is how do you reverse the words in a string? Or how do you reverse the numbers listed in a string? The example is usually something like: Turn...
12
by: Blaze | last post by:
I am doing the first walk through on the Visual Studio .Net walkthrough book to learn a little about programming. I am having issues with the first tutorial not running correctly. It seems that...
5
by: optimistx | last post by:
As a beginner in javascript I had a question. I was reading FAQ and posts here. I became very unhappy: Obviously this group is mainly for wise, pedantic, unkind etc people, who already know...
10
by: Roman Zeilinger | last post by:
Hi I have a beginner question concerning fscanf. First I had a text file which just contained some hex numbers: 0C100012 0C100012 ....
4
by: a | last post by:
Dear all vb.net developer I want to know the time I need to master vb.net? I'm beginner
3
by: Ben Keshet | last post by:
I have a probably simple beginner's question - I have a script that I am currently able to print its output. instead, i want to write it into a file - I tried different versions of write() but...
2
by: roanhn | last post by:
Hello. I've to to write a master's thesis. Currently I deal with php, mysql, ajax. Fate decreed that I've to choose one of this subjects: 1.gdi+ library in .net technology 2.ado.net technology...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.