.NET Fiddle

CSharp · Console

/Program.cs

using System;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using System.Xml.Linq;
using System.Data;
using System.Collections.Specialized;
using System.Text.RegularExpressions;
using System.Globalization;
using System.Data.DataSetExtensions;

public class Program
{
	public static void Main()
	{
		DataTable dt = new DataTable(); 
		dt.Columns.Add("id", typeof(int));
		dt.Columns.Add("name", typeof(string));
		
		dt.Rows.Add(new object[] {1, "A"});
		dt.Rows.Add(new object[] {2, "b"});
		dt.Rows.Add(new object[] {3, "s"});
		dt.Rows.Add(new object[] {4, "c"});
		dt.Rows.Add(new object[] {5, "d"});
		dt.Rows.Add(new object[] {6, "f"});
		
		var newdt = dt.AsEnumerable().OrderRandomly().CopyToDataTable();
		
		foreach(DataRow row in newdt.Rows)
		{
			Console.WriteLine(string.Join(",", row.ItemArray));
		}
	}
}

public static class Extension
{
	
	private static Random random = new Random();
	
	public static IEnumerable<T> OrderRandomly<T>(this IEnumerable<T> items)		
	{				
		List<T> randomly = new List<T>(items);
		
		while (randomly.Count > 0)			
		{
			
			Int32 index = random.Next(randomly.Count);			
			yield return randomly[index];
			
			randomly.RemoveAt(index);			
		}		
	} 	
}
;