private bool ValidateNIC(string nic)
    {
        if (String.IsNullOrWhiteSpace(nic))
        {
            ShowMessage("NIC is null");
            return false;
        }
    
        if (nic.Length != 10)
        {
            ShowMessage("Length should be 10");
            return false;
        }
    
        var lastChar = nic[9];
        
        // Case sensitive
        if (lastChar != 'v' && lastChar != 'x')
        {
            ShowMessage("Last character should be 'v' or 'x'");
            return false;
        }
    
        var otherChars = nic.Substring(0, 9);
    
        if (otherChars.Any(x => !Char.IsNumber(x)))
        {
            ShowMessage("All characters except the last one should be numbers");
            return false;
        }
    
        return true;
    }
    
    private void ShowMessage(string message)
    {
        MessageBox.Show(message);
    }

Edit: Forgot to mention that the character check is case-sensitive.