37 votes

Tâche simple mais intéressante pour les débutants en C #

;-) J'apprends c # et je ne peux imaginer aucune tâche d'apprentissage intéressante et assez dure pour du nouveau en c # (mais pas du tout dans la programmation ou la conception d'applications) :-(

Dans les plans actuels, il s’agit d’une mise en œuvre de "tetris", mais je parie que quelqu'un ici peut vous conseiller un meilleur.

L'idée principale ici est d'acquérir de l'expérience dans les composants .NET communs (E / S, Collections, etc.). Je m'attends donc à ce que la tâche nécessite un apprentissage en composants communs / fondamentaux.

Je vous remercie!

43voto

Juri Points 14330

Le gars devant moi a mentionné quelques belles apps pour construire, donc, plutôt que de mentionner un autre, je vous en C# exercice je l'ai fait quand partir avec elle. Il n'est pas sur l'écriture d'un programme, mais plus sur la compréhension de certaines fonctions importantes du langage.

Vous devez produire le résultat suivant de façon appropriée par l'instanciation des classes disponibles:

"N'envoyez jamais d'un homme pour faire une machine de travail."

Amusez-vous!

using System;

public interface IWord {
   void Print();
}

public interface IWord2 : IWord {
   new void Print();
}

public abstract class Base {
   protected static string msg = "send ";

   public Base() {
      Console.Write(this.GetString());
   }

   static Base() {
      Console.Write("Never ");
   }

   public virtual void Print() {
      Console.Write("to ");
   }

   protected virtual string GetString() {
      return "llama ";
   }
}

public class Derived : Base, IWord {

   static Derived() {
      Console.Write(Derived.msg);
   }

   public new virtual void Print() {
      Console.Write("do ");
   }

   protected override string GetString() {
      return "a ";
   }
}

public sealed class MoreDerived : Derived, IWord {
   public override void Print() {
      Console.Write("mach");
   }

   void IWord.Print() {
      Console.Write("a ");
   }

   protected override string GetString() {
      return "do ";
   }
}

public sealed class MoreDerived2 : Derived, IWord2 {

   static MoreDerived2() {
      Console.Write("ine");
   }

   public new void Print() {
      Console.Write("job. ");
   }

   void IWord2.Print() {
      Console.Write("job.");
   }

   protected override string GetString() {
      return "'s ";
   }
}

public abstract class Unfinished : Base {
   protected new void Print() {
      Console.Write("camel ");
   }

   protected override string GetString() {
      return "human ";
   }
}

public class Finished: Unfinished {
}

Mettez la solution dans ce

using System;

public class AgentSmith {
   //Never send a human to do a machine's job.
   public static void Main() 
   {
      //put your code here

      Console.ReadLine();
   }
}

12voto

taylonr Points 7195

Que diriez-vous un lecteur de flux RSS? Les composants que je peux penser à du haut de ma tête que vous utiliser sont:

  • Collections
  • XML Connectivité
  • Éventuellement minuteries/horaires si vous configurez un "récupérer toutes les X minutes"

En Plus des fins éducatives vous pourrait l'étendre à l'écriture d'un DB, et/ou de fichiers individuels

Un dernier avantage, il y a des projets comme RSS.net qui, si vous êtes bloqué, vous pouvez comparer.

9voto

froadie Points 15184

J'aime écrire un jeu de cartes. Ensuite, vous pouvez l'étendre et acquérir plus d'expérience en construisant les jeux de cartes que vous préférez. Vous pouvez commencer avec des jeux simples et simples et construire ...

9voto

Perpetualcoder Points 7381

Je recommanderais de jeter un coup d'œil à Project Euler si vous aimez les mathématiques, ça devrait être amusant.

8voto

Martin Points 7782

La nouvelle application "Hello World" pour le Web crée votre propre blog. Vous pouvez également créer votre propre programme de tâches. Un programme de suivi du temps. Un système de conseil Kanban ...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X