Рейтинг:
2
Graeme_Grant
var myfile = chkFile.value.ToLower();
var validExtension = "-c.doc";
label.innerText = myfile.EndsWith(validExtension) ? "Valid Format" : "Invalid Format";
ОБНОВЛЕНИЕ: Вот тест, чтобы проверить, что приведенный выше код работает:
Версия C#6+
var files = new List<string> { "aaa.mp3", "aaa-c.mp3", "aAa-c.DoC", "aAa-c.doc" };
var validExtension = "-c.doc";
foreach (var file in files)
{
Console.WriteLine($"{file} is {(file.ToLower().EndsWith(validExtension) ? "Valid Format" : "Invalid Format")}");
}
Console.WriteLine("-- done --");
Console.ReadKey();
C# 5.0 или старше:
var files = new List<string> { "aaa.mp3", "aaa-c.mp3", "aAa-c.DoC", "aAa-c.doc" };
var validExtension = "-c.doc";
foreach (string file in files)
{
Console.WriteLine(String.Format("{0} is {1}", file,
file.ToLower().EndsWith(validExtension)
? "Valid Format"
: "Invalid Format");
}
Console.WriteLine("-- done --");
Console.ReadKey();
Выход:
aaa.mp3 is Invalid Format
aaa-c.mp3 is Invalid Format
aAa-c.DoC is Valid Format
aAa-c.doc is Valid Format
-- done --
kav@94
я пробовал таким образом, но все равно это не работает
if (myfile. indexOf("-c.doc").столоверчением () и gt; 0 || файл myfile.метод indexOf("-C.DOC").столоверчением () и gt; 0 || файл myfile.метод indexOf("-C.doc").столоверчением () и gt; 0 || файл myfile.метод indexOf("-c.DOC").столоверчением () и gt; 0 || файл myfile.метод indexOf("-c.docx").столоверчением () и gt; 0 || файл myfile.метод indexOf("-C.DOCX").столоверчением () и gt; 0 || файл myfile.метод indexOf("-C.docx").столоверчением () и gt; 0 || файл myfile.метод indexOf("-c.DOCX").столоверчением () и gt; 0) {
label.innerText = " допустимый формат";
}
еще {
label.innerText = " недопустимый формат";
chkFile.значение = "";
}
}
Graeme_Grant
Не говорите мне, что вы делаете, прочтите мое решение и замените свой код.
kav@94
я пробовал только ваш код но он не работает он все еще принимает другие расширения
Graeme_Grant
Взгляните на обновление решения. Работать отлично. Вы неправильно внедрили это изменение. Запустите тестовый код в новом консольном приложении, и вы увидите тот же результат, что и выше.
kav@94
я получаю ошибку рядом с циклом foreach в var как синтаксическую ошибку, а также рядом с консолью.writeline as expected ')' это функция javascript, а не код c#
Graeme_Grant
Код работает отлично. Синтаксическая ошибка может означать, что вы ввели его неправильно.
Если вы используете pre-C#6, то есть: C#5 или старше, то консольная строка должна использовать старую строку.Формат (...) для вывода результатов.
kav@94
его .net framework 3.5
Graeme_Grant
Почему такая старая неподдерживаемая версия фреймворка?
Добавлена новая версия теста, которая будет работать с C# 5.0 или старше (Framework 3.5)
kav@94
но все равно я получаю ошибку рядом с VAR files = new List & lt;string & gt; { "aaa.mp3", "aaa-c. mp3", "aAa-c.DoC", "aAa-c.doc"}; запятые в этой строке и рядом с строкой foreach (string file in files) кроме того, я не могу статически хранить имена файлов в списке, он должен быть табен из файлов, выбранных с помощью fileuploader
Graeme_Grant
Вы программист, измените создание списка тестовых файлов.
kav@94
да но я новичок в этом деле не могли бы вы мне помочь
Graeme_Grant
Как создать список строк, а затем добавить в него список строк? Это все, что делает эта строка кода.
Я установил версию фреймворка на 3.5, и он компилируется и работает нормально. Проблема в том, что вы делаете. Больше я ничем не могу вам помочь!
Рейтинг:
1
koklimabc
Надо было попробовать:
if (myfile.indexOf("-c.doc") != -1 || myfile.indexOf("-C.DOC") > != -1)
kav@94
я даже попытался С если (файл myfile.метод indexOf("-c.doc") != -1 || файл myfile.метод indexOf("-C.DOC") &ГТ; != -1) но если я выбираю файлов в
ниже порядка он все еще говорит допустимый формат, но он должен сказать недопустимый формат
потому что в выбранных файлах есть файл. mp3 400-C.doc,401-c.doc,402-C.doc,403. mp3