.NET Fiddle

CSharp · Console

/Program.cs

using System;
using System.Linq;
using System.Collections.Generic;

class Tabla
{
	public int ramo;
	public int producto;
	public int poliza;
	public string descripcion;
}

public class Program
{
	public static void Main()
	{
		List<Tabla> records = new List<Tabla>()
		{new Tabla{ramo = 1730, producto = 1, poliza = 200, descripcion = "Pruebas 2"}, new Tabla{ramo = 1730, producto = 1, poliza = 200, descripcion = "Pruebas"}, new Tabla{ramo = 1730, producto = 1, poliza = 200, descripcion = "Pruebas 2"}, new Tabla{ramo = 1730, producto = 1, poliza = 120, descripcion = "Pruebas"}, };
		List<Tabla> q = (
			from row in records
			orderby row.ramo, row.producto, row.poliza descending, row.descripcion descending
			group row by new
			{
			row.ramo, row.producto, row.poliza
			}
				into t
				select new Tabla()
				{ramo = t.Key.ramo, producto = t.Key.producto, 
				 poliza = t.Key.poliza, descripcion = t.ToList().FirstOrDefault().descripcion}).ToList();
		
		foreach (Tabla item in q)
		{
			Console.Write(item.ramo);
			Console.Write(item.producto);
			Console.Write(item.poliza);
			Console.WriteLine(item.descripcion);
		}
	}
}
;