. Write a code in C# to implement an enumeration of 12 months named YEAR. Also identify that the given expressions will result in True or False.
YEAR.May.ToString()="June"
YEAR.August.ToString()="August"
. Write a code in C# to implement an enumeration of 12 months named YEAR. Also identify that the given expressions will result in True or False.
YEAR.May.ToString()="June"
YEAR.August.ToString()="August"
The replies already hit the main problems: the original expressions use the assignment operator and therefore won't compile, and using an enum's ToString for logic is fragile. Below is a compact, correct implementation plus safe ways to compare and parse values.
enum YEAR
{
January = 1,
February,
March,
April,
May,
June,
July,
August,
September,
October,
November,
December
}
YEAR m = YEAR.May;
Console.WriteLine(m.ToString()); // prints "May"
bool enumCompare = (m == YEAR.June); // false — compare enums directly
bool stringCompare = m.ToString().Equals("May"); // true (case-sensitive)
int monthNumber = (int)m; // 5 For converting user input or case-insensitive checks, use Enum.TryParse:
if (Enum.TryParse<YEAR>("august", true, out YEAR parsed))
{
// parsed == YEAR.August
} Notes and best practices:
== or .Equals for comparisons; a single = is assignment and will not compile when used with an expression like ToString().month == YEAR.June) rather than comparing ToString() results; ToString() returns the exact member name and is case-sensitive.int.Year or Month) rather than all-caps YEAR, but use the name required by the assignment if needed.This covers why the posted expressions fail to compile as written, what their truth values would be after fixing the operator, and safer, more robust patterns to work with month enums.
Jump to Post— ddanbe 2,724What have you done, besides posting your homework assignment?
Show that to us and pinpoint the errors you have. We will be more than happy to help.
Jump to Post— deceptikon 1,790I humbly apologize and throw myself upon the mercy of the court...
I find you guilty and sentence you to ten lashes with a wet noodle. After that, you must endure...THE COMFY CHAIR! Muahahahaha!
What have you done, besides posting your homework assignment?
Show that to us and pinpoint the errors you have. We will be more than happy to help.
Also, this isn't right:
YEAR.May.ToString()="June"
I'm sure whoever wrote it meant this:
YEAR.May.ToString()=="June"
gusano79 I think you just gave away the answer. :) The statement in the original post includes: "Also identify that the given expressions will result in True or False."
Once again, miriam_iqbal, can you provide us with what you've already done to attempt to solve this problem? :)
Tekkno
gusano79 I think you just gave away the answer. :) The statement in the original post includes: "Also identify that the given expressions will result in True or False."
I took it to mean "Here are some expressions, do they resolve to a) true, or b) false?" The expressions given don't do either; they won't compile.
Either way, that statement is not well written, and if I've accidentally answered part of the question, I humbly apologize and throw myself upon the mercy of the court...
LOL gusano79.
Well either way it's a good call :)
I humbly apologize and throw myself upon the mercy of the court...
I find you guilty and sentence you to ten lashes with a wet noodle. After that, you must endure...THE COMFY CHAIR! Muahahahaha!
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.