04 June 2016

Chuyển đổi int array sang string, string sang int, int sang array trong C#

Bài tập cho biết cách chuyển đổi từ array int string
C# 2016
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace demoDelegate
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = 1;
            do
            {
                Console.WriteLine("No: ");
                n = int.Parse(Console.ReadLine());
                try
                {
                    if (n != 0)
                    {
                        userChoice(n);
                    }
                }
                catch (IndexOutOfRangeException)
                {
                    Console.WriteLine("Number of digits must reach 9!");
                }              
            } while (n != 0);
        }

        static int userChoice(int n)
        {                    
                    //chuyển đổi từ int sang array
                    var digits = new List<int>();
                    for (; n != 0; n /= 10)
                        digits.Add(n % 10);
                    var arr = digits.ToArray();
                    Array.Reverse(arr);
                    
                    //lấy ra digit cuối cùng
                    int checkDigit = arr[8];

                    //add first set of alternates to themselves
                    int addFirstAlternates1 = arr[1] + arr[1];
                    int addFirstAlternates2 = arr[3] + arr[3];
                    int addFirstAlternates3 = arr[5] + arr[5];
                    int addFirstAlternates4 = arr[7] + arr[7];

                    //cho các số tính được vào 1 int array
                    int[] arrayAddFirstAlternates = { addFirstAlternates1, addFirstAlternates2, addFirstAlternates3, addFirstAlternates4 };


                    //chuyển đổi dãy int array thành 1 string
                    string stringAddLan1 = string.Join("", arrayAddFirstAlternates);

                    //chuyển string vừa xong thành int
                    int addLan1 = int.Parse(stringAddLan1);

                    //chuyển đổi từ int sang array (dãy số tính tổng khuyết lần 1)
                    var digits2 = new List<int>();
                    for (; addLan1 != 0; addLan1 /= 10)
                        digits2.Add(addLan1 % 10);
                    var arrayAddLan1 = digits2.ToArray();
                    Array.Reverse(arrayAddLan1);

                    int addLan2 = arrayAddLan1.Sum();

                    //add the other alternates
                    int addOtherAlternates = arr[0] + arr[2] + arr[4] + arr[6];
                    int addLan3 = addOtherAlternates;

                    //total của add lần 2 và lần 3
                    int totalLan2va3 = addLan2 + addLan3;
                    int rangeMax = totalLan2va3;

                    //Next highest integer multiple of 10
                    if (rangeMax % 10 != 0) { rangeMax = (rangeMax - rangeMax % 10) + 10; }

                    int diff = rangeMax - totalLan2va3;
                    if (diff == checkDigit)
                    {
                        Console.WriteLine("Valid SIN");
                    }
                    else
                    {
                        Console.WriteLine("Invalid SIN");
                    }
            return n;
        }
    }
}

Biểu thức Lambda trong C#
Lambda C# 2016
using System;

Biểu thức Lambda trong C#
Lambda C# 2016
using System;

Biểu thức Lambda trong C#
Lambda C# 2016
using System;












0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang