2010-10-31 8 views
22

Trabajo para un departamento de investigación en una gran compañía y utilizamos la plataforma .Net para construir nuestros prototipos (Eso significa que el equipo de producto siempre reproduce nuestro trabajo si el prototipo es 'útil').Necesito un tutorial rápido de C# para programadores no netos (de corto plazo)

También contratamos pasantes para nuestros proyectos. Algunos de los internos están principalmente investigando, por lo tanto, codifican menos. Pero de todos modos, los internos necesitan hacer una codificación en C#, o F # si pueden. La mayoría de ellos no tienen ninguna experiencia C# antes. Son estudiantes de último año o graduados, y generalmente saben algo de Java y C++. Pero generalmente no han recibido ninguna capacitación formal en programación de calidad industrial.

El problema difícil es enseñarles C# /. Net rápido, ya que deben centrarse en sus problemas de investigación durante una pasantía de 3 o 6 meses. También necesitan saber algo de buena práctica de C#, de lo contrario, la base de código durante su pasantía no es reutilizable después de la pasantía.

Mi forma de aprendizaje de C# es diferente de los demás (supe F # y luego leí CLR via C# y Effective Java de principio a fin.) Así que me gustaría consultar a los usuarios con experiencia en C# a sugerir un corto plazo (por ejemplo, 2 o 3 días) C# tutorial. ¡Muchas gracias!

Respuesta

9

O pedirles que comprar, o comprar para ellos, los siguientes dos libros:

Essential C# 4.0 y C# 4.0 in a Nutshell

Si realmente se preocupan por su estilo, como usted dice usted lo hace, también conseguirlos:

Effective C# 2nd ed.

Dado este conjunto y asumiendo que ya saben cómo programar en general (por ejemplo, Java/C++), que puede llegar productiva en cuestión de semanas. Puede usar las pautas Effective C# para ayudar a promover un código manejable, al menos a un nivel bajo.

4

Me gustaría ver los tutoriales en el sitio de Microsoft: C# Tutorials

1

les proporciona una gama de programas de ejemplo sencillo.

Una aplicación de consola simple, con algún ejemplo de entrada de datos, de salida, string.format, String.IsNullOrEmpty, getappconfig, conversiones de tipos, una conexión de SQL simple y consulta utilizando tablas de datos, uno usando datareader, reflexión,

Otros pocos con serialización XML y/o JSON, system.text.encoding, system.text.regularexpressions, directorywachter, system.drawing, system.drawing.imaging, etc.

Otros ejemplos con iTestSharp, sharpziplib, excelpackageplus, nhibernate , BouncyCastle (OpenPGP), etc.

Un ejemplo de progr cada uno para Consola, WinForms, Servicio de Windows, autorización del servicio web. WinForms que contiene menús desplegables, casillas de verificación, campos de texto (+ multilínea), controles de texto enriquecido, dataview, databind, treeview.

Una aplicación de ejemplo que utiliza referencias web, p. Ej. ReportingService WebService. Un módulo HTTP (bloqueo de IP, por ejemplo). Una aplicación de ejemplo que utiliza la extensión SOAP (para el cifrado, por ejemplo).

Luego una página ASP.NET con DropDowns, CheckBoxes, TreeViews y PostBacks. También uno que usa ASP.NET MVC y AJAX en lugar de WebFroms.

Aplicación de muestra de JQuery, JQuery uploadify.

O mejor aún, deje que uno de esos estudiantes escriba una colección de programas de ejemplo simples para todo esto. Para mayor referencia del estudiante. Dígales que utilicen Google para conocer los detalles y stackoverflow si tienen alguna pregunta.

Otros temas: Eventos, indicadores de función (Delegados) Interfaces, compilador CodeDom, LINQ, tipos anulables, propiedades, registro, sistema de archivos, iteradores, solicitudes de obtención/publicación http, código inseguro y punteros.

+0

Los ejemplos de IMO solo pueden ser un suplemento pero no reemplazan una explicación real. – CodesInChaos

+0

@CodeInChaos: No deberían requerir una explicación para los bucles y, si no, las declaraciones, etc. En mi humilde opinión, el único problema que realmente requiere explicación es la seguridad del hilo y el código inseguro con punteros. Además, no se puede esperar que alguien aprenda un lenguaje de programación tan complejo como C# en 3 días, la mera noción de esto es superficial e imposible. Requiere solo una semana para escribir correctamente un servicio web encriptado, y otra semana para escribir un instalador que CORRECTAMENTE establece permissons y genera un usuario y agrega dicho usuario a cierto grupo. –

+0

@CodeInChaos: La única forma de hacer que escriban los programas adecuados tan rápido es proporcionándoles sceletons, donde solo necesitan agregar funcionalidad y no necesitan preocuparse por el concepto, p. cifrado en un servicio web, o que no necesitan escribir la clase para agregar un usuario o agregarlo a un grupo (¡localización de nombres de grupo!). Pero donde definitivamente se encontrarán con problemas es que no sabrán qué se permite en SQL y qué deberían evitar por razones de rendimiento ... Si me preguntas mi opinión, entonces te digo que es una muy mala idea emplear programas cortos -término. No funcionará –

Cuestiones relacionadas