I need to implement a generic search function in my code. If the user inputs a number whether it be integer or double, it needs to search the appropriate array for a match. I have two arrays (integer, double). I am supposed to write a generic search function to handle both of these. The user can input an integer or a double and then search the array to see if that number exists in the array. I'm supposed to use T : IComparable<T>, but it doesn't tell me how to implement it. I really am at a complete loss for this one. My book is of no help and what I have found online isn't of much help either. I greatly appreciate any tips, suggestions, or advice offered!
public partial class MainForm : Form { //declare arrays int[] IntArray = new int [10]; double[] DblArray = new double[10]; public MainForm() { InitializeComponent(); } private void BtnInt_Click(object sender, EventArgs e) { //Displays a random integer number to the user //Declare variables int rndInt; int minimum = 1; int maximum = 10; //Declare instance of random Random rnd = new Random(); //Generate random number rndInt = rnd.Next(minimum, maximum); //Show random number tbInt.Text = rndInt.ToString(); } private void BtnDbl_Click(object sender, EventArgs e) { //Displays a random double number to the user //Declare variables double rndDbl; double minimum = 1.0; double maximum = 10.0; //Declare instance of random Random rnd = new Random(); //Generate random number rndDbl = rnd.NextDouble() * (maximum - minimum) + minimum; rndDbl = Math.Round(rndDbl, 2); //Show random number tbDbl.Text = rndDbl.ToString(); } private void BtnPopIntAry_Click(object sender, EventArgs e) { //Populates an integer array with random integers //Declare variables int minimum = 1; int maximum = 10; LblDisplay.Text = ""; //Declare instance of random Random rnd = new Random(); //Populate Array for (int i = 0; i < 10; i++) { //Generate random number IntArray[i] = rnd.Next(minimum, maximum); LblDisplay.Text = LblDisplay.Text + " " + IntArray[i]; } } private void BtnPopDblAry_Click(object sender, EventArgs e) { //Populates a Double array with random double numbers //Declare variables double minimum = 1.0; double maximum = 10.0; LblDisplay.Text = ""; //Declare instance of random Random rnd = new Random(); //Populate Array for (int i = 0; i < 10; i++) { //Generate random number DblArray[i] = rnd.NextDouble() * (maximum - minimum) + minimum; DblArray[i] = Math.Round(DblArray[i], 2); LblDisplay.Text = LblDisplay.Text + " " + DblArray[i]; } } private void BtnIntSearch_Click(object sender, EventArgs e) { //Convert user input to Integer int searchNum = Convert.ToInt32 (tbIntSearch); //Search array for match bool result = SearchArray(IntArray, searchNum); } private bool SearchArray(T[] inputArray, num) { } }