What size is a .NET object?

1 Answer

Answer :

• Each instance of a reference type has two fields maintained by the runtime - a method table pointer and a sync block. These are 4 bytes each on a 32-bit system, making a total of 8 bytes per object overhead. Obviously the instance data for the type must be added to this to get the overall size of the object. So, for example, instances of the following class are 12 bytes each:

class MyInt

{

...

private int x;

}


• However, note that with the current implementation of the CLR there seems to be a minimum object size of 12 bytes, even for classes with no data (e.g. System.Object). Values types have no equivalent overhead. 

Related questions

Description : Which one of the following tools is used to view the metadata information contained in a .NET assembly? Select Answer:  1. al.exe  2. ilasm.exe  3. vbx.exe  4. csc.exe  5. ildasm.exe

Last Answer :  5. ildasm.exe

Description : In Visual Basic .NET or Visual C# programming, when would you use Structured Query Language (SQL)? How are they executed? 

Last Answer : ADO.NET handles most of the database communication for you behind-thescenes. You would only use SQL statements when generating ad-hoc queries for the database. You execute SQL statements by ... returning statements, such as DELETE, INSERT INTO, or UPDATE statements, use the ExecuteNonQuery method.

Description : How could you execute DDL commands, such as ALTER or CREATE TABLE, against a database with ADO.NET?

Last Answer : You must use a Command object to execute DDL commands. You can set the CommandType property to Text and enter the appropriate DDL command in the CommandText property. Then call Command.ExecuteNonQuery to execute the command.

Description : Briefly contrast connected and disconnected data access in ADO.NET.

Last Answer : In ADO.NET, connected data access is available through the DataReader, which is a lightweight class designed to provide very fast and efficient data access. It is severely limited, however, in ... to update the database and keeping the connection open just long enough to execute those commands.

Description : How do you enable your application to use .NET base class library members without referencing their fully qualified names?

Last Answer : Use the Imports keyword (Visual Basic .NET) or the using keyword (Visual C#) to make a .NET Framework namespace visible to your application. 

Description : Briefly describe the major components of the .NET Framework and describe what each component does.

Last Answer : The .NET Framework consists of two primary parts: the common language runtime, which manages application execution, enforces type safety, and manages memory reclamation, and the .NET base class library, which consists of thousands of predeveloped classes that can be used to build applications.

Description : Option statements that are supported in VB.NET?

Last Answer : Option Explicit:- By default, Option Explicit is on for VB.NET projects. It's a good programming practice to set Option Explicit on because it helps developers avoid implicitly declaring variables, and thus write ... . It's also a safer way to develop code, which is why most developers prefer it. 

Description : What do you know about .NET assemblies?

Last Answer : Answer: Assemblies are the smallest units of versioning and deployment in the .NET application. Assemblies are also the building blocks for programs such as Web services, Windows services, serviced components, and .NET remoting applications.

Description : What is purpose of Assembly Linker or define SDK Tool in .NET Framework?

Last Answer : Answer: In .NET whole the working should be with the helps of DLLs.So all of Visual Studio .Net compilers gernate assemblies or u can say dll.If we want to create an assembly with ... Studio .Net .This multi file can contain modules that are written in diffrenet langauage in one application.

Description : When should you call the garbage collector in .NET?

Last Answer : As a good rule, you should not call the garbage collector. However, you could call the garbage collector when you are done using a large object (or set of objects) to force the garbage collector to dispose of those very large objects from memory. However, this is usually not a good practice. 

Description : What is the smallest unit of execution in .NET?

Last Answer : an Assembly. 

Description : How is the DLL Hell problem solved in .NET? 

Last Answer : Assembly versioning allows the application to specify not only the library it needs to run (which was available under Win32), but also the version of the assembly.

Description : What are advantages and disadvantages of Microsoft-provided data provider classes in ADO.NET?

Last Answer : SQLServer.NET data provider is high-speed and robust, but requires SQL Server license purchased from Microsoft. OLE-DB.NET is universal for accessing other sources, like Oracle, DB2, Microsoft Access and Informix. ... on top of the OLE layer, so it's not as fastest and efficient as SqlServer.NET.

Description : What is the role of the DataReader class in ADO.NET connections?

Last Answer : It returns a read-only, forward-only rowset from the data source. A DataReader provides fast access when a forward-only sequential read is needed.

Description : How do you debug an ASP.NET Web application?

Last Answer : Attach the aspnet_wp.exe process to the DbgClr debugger. 

Description : What debugging tools come with the .NET SDK?

Last Answer : 1. CorDBG – command-line debugger. To use CorDbg, you must compile the original C# file using the /debug switch. 2. DbgCLR – graphic debugger. Visual Studio .NET uses the DbgCLR.

Description : What’s the .NET collection class that allows an element to be accessed using a unique key? 

Last Answer : HashTable. 

Description : What’s the top .NET class that everything is derived from?

Last Answer : System.Object.

Description : When should you call the garbage collector in .NET?

Last Answer : As a good rule, you should not call the garbage collector. However, you could call the garbage collector when you are done using a large object (or set of objects) to force the garbage collector to dispose of those very large objects from memory. However, this is usually not a good practice.

Description : What is the smallest unit of execution in .NET?

Last Answer : an Assembly. 

Description : How is the DLL Hell problem solved in .NET? 

Last Answer : Assembly versioning allows the application to specify not only the library it needs to run (which was available under Win32), but also the version of the assembly. 

Description : What are advantages and disadvantages of Microsoft-provided data provider classes in ADO.NET?

Last Answer : SQLServer.NET data provider is high-speed and robust, but requires SQL Server license purchased from Microsoft. OLE-DB.NET is universal for accessing other sources, like Oracle, DB2, Microsoft Access and Informix. ... on top of the OLE layer, so it's not as fastest and efficient as SqlServer.NET.

Description : What is the role of the DataReader class in ADO.NET connections?

Last Answer : It returns a read-only, forward-only rowset from the data source. A DataReader provides fast access when a forward-only sequential read is needed. 

Description : How do you debug an ASP.NET Web application?

Last Answer : Attach the aspnet_wp.exe process to the DbgClr debugger.

Description : What debugging tools come with the .NET SDK?

Last Answer : 1. CorDBG – command-line debugger. To use CorDbg, you must compile the original C# file using the /debug switch.   2. DbgCLR – graphic debugger. Visual Studio .NET uses the DbgCLR.

Description : What’s the .NET collection class that allows an element to be accessed using a unique key?

Last Answer : HashTable.

Description : What’s the top .NET class that everything is derived from? 

Last Answer : System.Object.

Description : Will we eventually see a .NET Framework-based version of Java as a competitor to C#?

Last Answer : Apparently not. Microsoft will never offer a complete Java environment because Sun has essentially required that Java licensees implement all of Java-something Microsoft will never do. (Why should it? Does ... she's working in a true Java environment because the familiar libraries won't be there. 

Description : But won't most .NET developers eventually choose C# over Visual Basic.NET? 

Last Answer : No. Because the power of the two languages is so similar, the primary factor for developers migrating to the .NET world will probably be the syntax they prefer. Since many more developers ... the dominant language for building Windows applications five years from now will still be Visual Basic. 

Description : Isn't C# the native language of .NET?

Last Answer : Every language built on the .NET Framework must use the CLR. The CLR defines core language semantics, and so all of the languages built on it tend to have a great deal in common. The biggest choice a . ... just a little bit more-and so neither is the "native" .NET language. There is no such thing.

Description : What’s the top .NET class that everything is derived from?

Last Answer : System.Object.

Description : What are the three possible settings for the CommandType property of a SqlCommand object or an OleDbCommand object, and what does each mean?

Last Answer : A Command object can have a CommandType property setting of Text, StoredProcedure, or TableDirect. When set to Text, the command executes the SQL string that is stored in the Command object's ... that the command should return the entire contents of the table indicated by the CommandText property. 

Description : Briefly explain encapsulation and why it is important in object-oriented - programming.

Last Answer : Encapsulation is the principle that all of the data and functionality required by an object be contained by that object. This allows objects to exist as independent, interchangeable units of functionality without maintaining dependencies on other units of code.

Description : What does the Dispose method do with the connection object? 

Last Answer : Deletes it from the memory. To Do: answer better. The current answer is not entirely correct.

Description : Given part of a stack trace: aspnet.debugging.BadForm.Page_Load(Object sender, EventArgs e) +34. What does the +34 mean?

Last Answer : It is an actual offset (at the assembly language level) – not an offset into the IL instructions. 

Description : Is object destruction deterministic?

Last Answer : No

Description : object is an alias for what? 

Last Answer : System.Object 

Description : How do you dereference an object? 

Last Answer : Set it equal to null. 

Description : Does an object need to be made to run main?

Last Answer : No

Description : What does the Dispose method do with the connection object? 

Last Answer : Deletes it from the memory. To Do: answer better. The current answer is not entirely correct.

Description : Is C# object-oriented?

Last Answer : Yes, C# is an OO language in the tradition of Java and C++.

Description : Is C# is object oriented?

Last Answer : Yes, C# is an OO language in the tradition of Java and C++.

Description : Does the size of an array need to be defined at compile time.

Last Answer : No

Description : What si the difference between interface and abstractclass Select Answer:  1. interface contain only methods  2. we can't declare a variable for interface  3. interface contain only events  4. None  5. All

Last Answer : Ans : 2 The only Difference between Interface and Abstract class is we can declare a variable in abstract class but we can't declare in variable interface

Description : What is the lifespan for items stored in ViewState? Select Answer:  1. Item stored in ViewState exist for the life of the current page  2. Item stored in ViewState exist for the life ... of the current Applicaiton  4. Item stored in ViewState exist for the life of the current configuration

Last Answer : 1. Item stored in ViewState exist for the life of the current page AS any web application works on request and response basis ,so on every post backs, The data in control gets lost. To retain page ... control with data. The life cycle of the view state exist for life of current running page only. 

Description : How would you ensure that all relevant registry entries were removed in the event that installation of your application failed?

Last Answer : You can ensure that registry entries are removed, as well as perform any other “clean-up” tasks, by creating an Installer class and writing the appropriate code in the Rollback event handler. Then create a new Custom Action and set the InstallerClass, and EntryPoint properties to appropriate values.

Description : Describe a general strategy for creating a setup project that terminates installation if a specific file is not already installed on the target machine.

Last Answer : First, create a file search to search the file system for the specific file. Then create a launch condition to evaluate the results of the search. You can connect the launch condition to ... in the search's Property property in the expression specified by the launch condition's Condition property. 

Description : What is the purpose of a bootstrapper application? When do you not need to create one?

Last Answer : A bootstrapper application automatically detects if Windows Installer is installed on the target machine. If Windows Installer is not present, it installs Windows Installer before proceeding with the rest ... Installer 1.5 already installed) or have had Microsoft Installer 1.5 installed previously.

Description : What is a native image? How do you create one?

Last Answer : A native image is a precompiled version of a .NET assembly. You can create a native image of your application by using the Ngen.exe utility.

Description : Describe XCOPY deployment. Under what conditions is it useful? When can it not be used?

Last Answer : XCOPY deployment is a simple method of deployment where the DOS command XCOPY is used to copy the application directory and any subdirectories to the target machine. You can use XCOPY ... an application requires a more complex deployment or references shared assemblies, you cannot use XCOPY.