[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

microsoft.public.dotnet.framework

esoteric struct vs class question

Mark

5/22/2008 9:30:00 PM

I know this is pretty esoteric but if all you have is a bunch of static
methods, which is the most efficient - a struct or a static class? Or are
they about the same?

Thanks
Mark

3 Answers

Peter Duniho

5/22/2008 9:45:00 PM

0

On Thu, 22 May 2008 14:30:01 -0700, Mark <mmodrall@nospam.nospam> wrote:

> I know this is pretty esoteric but if all you have is a bunch of static
> methods, which is the most efficient - a struct or a static class? Or
> are
> they about the same?

I would not expect there to be any difference. However, inasmuch as the
C# programming reference suggests making a type a class if you expect it
to be something more than a very simple data structure, it seems to me
that a static class is generally a better choice than a static struct.

If you're never actually making an instance of the type though, I don't
think there should be any efficiency difference at all, one way or the
other.

Pete

stcheng

5/23/2008 2:37:00 AM

0

Hi Mark,

I think for defining static utility methods, there won't have much
difference on performance between struct or class. The difference between
class and struct is mainly focus on OO encapsulation and value/reference
type behavior perspective. IMO, I'll prefer using class if it is a utility
class that may contains many helper static functions. I will only use
struct for many trivial types that is better to defined as value type(not
used as reference).

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
msdnmg@microsoft.com.

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default....
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/de....
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
>Thread-Topic: esoteric struct vs class question
>thread-index: Aci8Uv3Jvb6KRH3cRb6LlAOuEJfsMg==
>X-WBNR-Posting-Host: 207.46.19.168
>From: =?Utf-8?B?TWFyaw==?= <mmodrall@nospam.nospam>
>Subject: esoteric struct vs class question
>Date: Thu, 22 May 2008 14:30:01 -0700

>
>I know this is pretty esoteric but if all you have is a bunch of static
>methods, which is the most efficient - a struct or a static class? Or are
>they about the same?
>
>Thanks
>Mark
>
>

Jon Skeet

5/23/2008 7:35:00 PM

0

Mark <mmodrall@nospam.nospam> wrote:
> I know this is pretty esoteric but if all you have is a bunch of static
> methods, which is the most efficient - a struct or a static class? Or are
> they about the same?

If you're writing C#, I'd use a class for the simple reason that you
can then declare it as static, which makes it clear that you don't
*want* anyone to create instances of it, and indeed the compiler will
help you to make sure that all your methods are static etc.

--
Jon Skeet - <skeet@pobox.com>
Web site: http://www.pobox....
Blog: http://www.msmvps.com...
C# in Depth: http://csharpi...