"As a student in CS 460 I want to write an example C# application so I can prove that I know the C# language and can work in the professional Visual Studio environment."
[Content/Coding] Write C# class files and code as necessary to duplicate the behavior of the required code. You should try to stick as close as possible to the Java code, so translate it -- don't do it your own way. This is because I have purposefully chosen certain language features that I want you to learn in C#.
Don't try to copy in the Java code and edit it to fix errors. You want to write it from scratch so you begin to learn the Visual Studio IDE style of development (i.e. code completion, IntelliSense, looking up documentation, keyboard shortcuts ...). You should have multiple commits showing how you wrote this from scratch.
I highly suggest that you implement the classes in this order:
[Content/Coding] Where the syntax is identical between C# and Java you of course do not need to change anything. However, C# makes use of new language features to solve common tasks and you should learn and use those (looking at you properties). Little things are important, for example C# has a String
class but convention says you use the string
type name -- so please do that. Please follow all C# conventions for naming things (names that start with upper case for example). The code does not have to be 100% exactly the same as long as the behavior is the same. Yes, you'll need to find the equivalent of System.out.println
, LinkedList
, StringBuilder
, generics, ... Don't worry about making accessibility modifiers the same.
You must implement and use the linked queue as was done in the java code, but you should use C#'s linked list or equivalent.
To reiterate the purpose of this homework, we want to learn as much C# and Visual Studio as possible this week. Don't get lulled into thinking it's just the same as Java and so you don't need to learn anything. It is its own language and Visual Studio is a large and complicated IDE. It is a larger and richer language than Java and we want to use those features. It has some quirks. It has namespaces, extension methods, lambda functions and in and out variables. Surprisingly, I didn't think I'd like it at first but I do. Between Java and C# I'd much rather write in C#.