Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
Solved

Get all years between TWO years returned as a array ?

Posted on 2009-04-01
Medium Priority
172 Views
Hello,

I have this:

startYear = 2005
todaysYear = 2009

Now I want all years between those 2 dates , this would be 2006,2007,2008 returned in a array does there exist already such a function?

I want to iterate in a for loop through that array and get access to every single year and do some stuff with it.
0
Question by:MSFanboy

LVL 26

Expert Comment

ID: 24040504
jsut create a function and loop in that for the start year to the end year and add the years found in a List<int> object
you will get a int list and you can do whatever you want to do that

i dont think there is a function which will give you the year values between 2 dates
yes you can get the count of no. of years from 2 dates
0

LVL 4

Accepted Solution

amazingwolf1 earned 1000 total points
ID: 24040647
here it is, call it like this:

int[] res = GetYears(2009, 2005);
``````public int[] GetYears(int iUpper, int iLower)
{
int iGap;
int[] resultArray;

iGap = iUpper - iLower - 1;

// check if this is the same year
if (iGap <= 0)
{
resultArray = new int[1];
resultArray[0] = iUpper;
}
else
{
resultArray = new int[iGap];
for (int i = iLower + 1, index = 0; i < iUpper; i++, index++)
{
resultArray[index] = i;
}
}

return resultArray;
}
``````
0

LVL 86

Assisted Solution

Mike Tomlinson earned 1000 total points
ID: 24040775
Not sure why you need an array...couldn't you just use your year values directly in a for loop?

int startYear = 2005;
int stopYear = 2009;
for (int year = startYear; year <= stopYear; year++)
{
Console.WriteLine(year.ToString());
}

But if you really want an Array, I like ragi's suggestion:
(one your your PAQs dealt w/ VS2008 so I'm pretty sure you have List<T>)
(furthermore, instead of an Array, why not just deal with the List directly?)
``````        private void button1_Click(object sender, EventArgs e)
{
int[] years = GetYears(2005, 2009);
foreach (int year in years)
{
Console.WriteLine(year.ToString());
}
}

private int[] GetYears(int startYear, int endYear)
{
List<int> years = new List<int>();
for (int y = startYear; y <= endYear; y++)
{
}
return years.ToArray();
}
``````
0

Author Comment

ID: 24041976
Hm seems the info I gave u was not 100% from my side:

The user inputs e.g. "X" what means X years back into the past. I wanted a native method for it but it does not exist so I had to write my own:

You should NOT take todayYear = 2009 literally it can be also 2010,2200 or 25000 ... so I ca not guess this date just get DateTime.Now and do stuff on it

``````foreach (var s in YearsList(6))
{
Console.WriteLine("Jahr: " + s);
}

public string[] YearsList(int value)
{
var yearsArray = new string[value];
for (int i = 0; i < value; i++)
{
}

return yearsArray;
}
``````
0

LVL 4

Expert Comment

ID: 24047497
Since the original questions was not clear enough, and MSFanboy did not state clearly that he ONLY wants a native function. I gave him a full solution here with the code, and I feel it would be an error to approve to MSFanboy request.
0

LVL 4

Expert Comment

ID: 24071733
I recommend #3 - Accept one or more Expert posts as the answer. I suggest posts
http:#a24040647, http:#a24040775, http:#a24041976 will be the answers.
0

Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This article series is supposed to shed some light on the use of IDisposable and objects that inherit from it. In essence, a more apt title for this article would be: using (IDisposable) {}. Iâ€™m just not sure how many people would geâ€¦
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
This Micro Tutorial will teach you how to add a cinematic look to any film or video out there. There are very few simple steps that you will follow to do so. This will be demonstrated using Adobe Premiere Pro CS6.
As many of you are aware about Scanpst.exe utility which is owned by Microsoft itself to repair inaccessible or damaged PST files, but the question is do you really think Scanpst.exe is capable to repair all sorts of PST related corruption issues?
Suggested Courses
Course of the Month14 days, 20 hours left to enroll