Wednesday, July 30, 2008

FileSystem in C#

Here is a way to retrieve file info in C#
using LINQ syntax.
Feel free to comment.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace FileSystem
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
DirectoryInfo root = new DirectoryInfo(".");
var files = from FileInfo f in root.GetFiles()
select new { FileName = f.Name, LengthFile = f.Length };


dataGridView1.DataSource = files.ToList();

}
}
}

Tuesday, July 29, 2008

LINQ - Operators

Here is the main list of LINQ operators
Thanks >Kader Yildirim



Restriction operators
Where

Projection operators
Select
SelectMany

Partitioning operators
Take
Skip
TakeWhile
SkipWhile

Ordering operators
OrderBy
OrderByDescending
ThenBy
ThenByDescending
Reverse

Grouping operators
GroupBy
Joining operators
Join
GroupJoin

Set operators
Distinct
Union
Intersect
Except

Conversion operators
Cast
ToArray
ToList
ToDictionary
OfType
ToLookup
ToSequence

Element operators
DefaultEmpty
First
FirstOrDefault
Last
LastOrDefault
ElementAt
ElementAtOrDefault
Single
SingleOrDefault

Generation operators
Empty
Range
Repeat
Quantifiers
Any
All
Contains

Aggregate operators
Aggregate
Count
LongCount
Sum
Min
Max
Average
Fold

Miscellaneous operators
Concat
EqualAll
Custom Sequence operators
Combine
Query Execution
Deferred
Immediate
QueryReuse

LINQ - Articles in french

Some french articles using LINQ

LINQ à 360 degré

Functional programming - C#

Here is a series of articles concerning functional in C#

A C# library to write functional code

Sunday, July 20, 2008

Extension Method - C#

Extensions Methods are the base of LINQ implementation.
Mitsuru Furuta from Microsoft France show a neat way
to return default value from a dictionnary

http://blogs.msdn.com/mitsufu/archive/2008/05/07/astuce-faciliter-la-lecture-des-donn-es-d-un-dictionnaire-gr-ce-une-m-thode-d-extension.aspx

Thanks Mitsuru for this nice tip

Friday, July 18, 2008

Functional Programming in C#

Functional programming style can save a lot of time.
Here are somme samples from Microsoft site itself.
C# tend to include some F# features.
Give it a look, it will change your life as a C# developper ;-)

The following topics are covered

Closures
Currying
Filter
Fold
Iterators
Lazy Evaluation
LINQ
Lists (Immutable and Recursive)
List Continuations
Maps/Map2
Memoization
Monads
Operators (Forward, Reverse, etc)
Recursion
Unfolding and Generators

http://code.msdn.microsoft.com/FunctionalCSharp

Thursday, July 17, 2008