BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage C# Content on InfoQ

  • Visual Basic and C#: Differences in Nullable Types

    When .NET 1.0 was released, VB and C# were very similar. But with the fourth version nearing release, the differences are really mounting. Today we look at the subtle differences in nullable types that can trip up developers.

  • LINQ Aggregates in VB and C#

    An aggregate is a function that takes a collection of values and returns a scalar value. Examples from T-SQL include min, max, and sum. Both VB and C# have support for aggregates, but in very different ways.

  • Partial Methods: Do They Belong in C#?

    One of the more controversial additions to C# is the addition of partial methods. Created exclusively for code generators, some believe it pollutes the C# language.

  • Catching up with Phoenix

    This past year Microsoft introduced Phoenix a project aimed at transforming the traditional blackbox compiler into a transparent one.

  • The "use" Binding In F# and How It Should Be Applied To C# and VB

    Possible enhancements for F# show how VB and C# can also change in the future.

  • Presentation: Erik Meijers on Democratizing the Cloud

    As the Dutch artist MC Escher once said "Only those who attempt the absurd will achieve the impossible". At Microsoft, Erik Meijers is trying to stretch .NET to cover the Cloud such that developers can incrementally and seamlessly design, develop, and debug complex distributed applications using your favorite existing and unmodified .NET compiler and deploy these applications anywhere.

  • New C# Features Not Found in VB

    With the release of Beta 2, the feature set for the flagship .NET languages C# and Visual Basic have been solidified. In the past we have covered VB-only features like mutable anonymous types and XML Literals. Today we cover a couple of the C# only features.

  • Performance Problems with Lambdas

    The LINQ Cookbook reveals some performance issues when using lambdas instead of traditional functions.

  • Mono Adds Support For Type Inference in C#

    Marek Safar has announced that the C# 3.0 compiler for Mono now supports implicitly typed local variables and implicitly typed arrays using a technique known as type inference.

  • Closures and Object Lifetime in C# and Visual Basic

    C# 2 and the yet to be released VB 9 allow developers to reference local variables in anonymous functions. When an anonymous function 'closes over' a variable, the local variable is promoted to an instance variable and stored in an object called a closure. This allows the variable to exist long after the method call that created it has been completed, but can cause some unexpected side effects.

  • Collaboration with Mono Yields Mainsoft for Java EE

    Today, Mainsoft, a leading .NET-Java EE interoperability company, announced Mainsoft for Java EE, Version 2.0. The 2.0 product suite enables .NET developers to produce .NET Web and server applications that run on Linux and other Java-enabled platforms, without having to rewrite code or learn new development skills.

  • Ruby.NET 0.8 release

    While IronRuby will make its debut in late July 2007, another Ruby implementation for .NET has been available for a year: the Gardens Point Ruby.NET compiler. The project has an interesting relationship with IronRuby - it provides its parser. Its latest release adds improved interoperability with other .NET languages.

  • ReSharper 3.0 with full VB.NET Support

    Full-featured support for Visual Basic .NET, including complete cross-language functionality with C#, will be available in ReSharper 3.0, a powerful add-in to Microsoft Visual Studio from JetBrains.

  • Friend Assemblies and Unit Testing

    A little known C# feature known as friend assemblies will be making its way to VB 9. This feature allows an assembly to grant access to its internals to another assembly.

  • Presentation: NET Windows Forms Tips and Tricks

    Ken Getz demonstrates several different techniques you can use when building Windows applications (recorded at DevLink), including: Creating owner-drawn controls, binding controls to just about anything, exposing protected information with inheritance, exposing new control behavior using inheritance, handling thread synchronization with Windows forms, and creating your own property grid.

BT