Member 13311188 Ответов: 3

C#, я новичок в linq. Пожалуйста, посмотрите, какая у меня проблема.


Проверьте, правильно ли написано имя, что означает, что первая буква должна быть прописной, а остальные буквы-строчными. В
в тех случаях, когда имя равно null, пусто или имеет длину менее 2 символов, возвращается значение false. Не принимайте во внимание начальные или конечные пробелы.
public static bool NameIsInProperCase(строковое имя)
{

}

Что я уже пробовал:

я не могу получить доступ к попыткам, которые я сделал на своем компьютере на работе, в настоящее время я загружаю C# IDE, чтобы попробовать еще раз в выходные. Я новичок в Linq.

3 Ответов

Рейтинг:
10

Member 13311188

public static bool NameIsInProperCase(string name) 
{ 
    name = name.Or("").Trim(); 
     
    if (name.Length < 2) return false; 
     
    return (name[0].IsUpper() && name.ExceptFirst().All(c => c.IsLower())); 
}


Эй, ребята, спасибо всем. Я почти закончил на сегодня, но спасибо всем за вашу помощь. решение с регулярным выражением не было принято, но между моими коллегами и мной нам удалось это выяснить.


Рейтинг:
1

Patrice T

Цитата:
Пожалуйста, посмотрите, какая у меня проблема.

Проблема, которая у вас есть, - это домашнее задание !

Мы не делаем вашу домашнюю работу.
Домашнее задание предназначено не для того, чтобы проверить ваши навыки просить других людей выполнять вашу работу, а для того, чтобы заставить вас думать и помочь вашему учителю проверить ваше понимание пройденных вами курсов, а также проблем, возникающих при их применении.
Любая ваша неудача поможет учителю выявить ваши слабости и наметить меры по их исправлению.
Любая ваша неудача поможет вам узнать, что работает, а что нет, это называется "методом проб и ошибок".
Так что попробуйте, перечитайте свои уроки и начинайте работать. Если вы застряли на конкретной проблеме, покажите свой код и объясните эту точную проблему, мы можем помочь.

Как программист, ваша задача-создавать алгоритмы это решает конкретные проблемы, и вы не можете полагаться на кого-то другого, чтобы вечно делать это за вас, поэтому есть время, когда вам придется научиться этому. И чем скорее, тем лучше.
Когда вы просто просите решение, это все равно что пытаться научиться водить машину, обучая кого-то другого.
Создание алгоритма-это в основном поиск математики и необходимая адаптация к вашей реальной задаче.

Идея "развития" заключается в том, что это слово предполагает: "систематическое использование научно-технических знаний для достижения конкретных целей или требований." BusinessDictionary.com[^]
Это не то же самое, что "быстро гуглите и сдавайтесь, если я не могу найти точно правильный код".


Member 13311188

Я никого не умоляю, у меня нет книг для чтения. Я провожу свои исследования в интернете, на youtube и везде, где есть учебные пособия по c#. Я не сказал своему работодателю, что знаю c#, и, честно говоря, после прочтения комментариев я никак не могу ответить на linq и (очевидно, регулярное выражение, о котором я даже не знал) через две недели.
но независимо от того, насколько это невозможно, я намного лучше, чем 2 дня назад, когда я ничего не знал о c#. Я смотрю учебники linq и в начале обучения написал коды для более чем 30 методов. к концу выходных я буду знать больше. Я не могу заставить IDE открыть файлы, поэтому не могу показать вам, что я сделал до сих пор. Я сделал чертовски хорошо для того, кто ничего не знал о linq 2 дня назад.

Michael_Davies

Файлы-это текстовые файлы, для их открытия вам не нужна IDE, подойдет любой текстовый редактор, даже Блокнот.

Member 13311188

You will be given a long text composed of words which are seperated by space. Your task is put a '*' between each letter of each word, but you may not put a '*' between words,or at the beginning of end of the words. You don't need to worry about punctuation marks ('.', ',', ';') but you must preserve multiple spaces. Example:text = "This is an example of what I have in mind"Result:". T*h*i*s i*s a*n e*x*a*m*p*l*e o*f w*h*a*t I h*a*v*e i*n m*i*n*d".


public static string PutStarBetweenEachLetter(string text) 
{ 
    return text.Split(' ').Select(i => i.ToCharArray().ToString("*")).ToString(" "); 
} 
.....................вот пример работы, которую я проделал. Я могу найти его только в том виде, в каком он выглядит решенным, и решение печатается рядом с вопросом. остальные проблемы появляются как ссылка, каждый раз, когда я открываю проблемы, которые я не мог решить с моего домашнего компьютера с помощью C# IDE, я получаю следующее сообщение / / Нет редактора, доступного для c:\.......................... (путь к файлу) Убедитесь, что установлено приложение для данного типа файлов(.cs). Я устал. где мне найти редактора? Я новичок.

Patrice T

Почему вы не показали свою работу в первую очередь ?
На этом сайте студенты публикуют свои домашние задания дословно и ожидают, что мы выполним эту работу. Но мы этого не делаем, поэтому ответы вы получаете.

Откройте новый вопрос с этой проблемой, вашей работой и объяснением того, что пошло не так, и вы получите полезные решения.

Patrice T

Для этой проблемы решением является регулярное выражение

Member 13311188

Это мой первый день.
Теперь я знаю, как размещать вопросы, но с другой стороны, я изучал (как и в рецензировании и чтении) LINQ весь сегодняшний день и теперь чувствую себя гораздо увереннее.
Завтра я начну с регулярных выражений. visual studio почти готова, и я буду публиковать свои вопросы вместе с моими попытками. Что касается вопроса студентов=>я учусь в открытом университете, и есть строгие проверки на плагиат на каждом задании, которое я представляю, если есть совпадение между моей работой в течение учебного года и любым контекстом онлайн, это будет обнаружено сразу же после подачи ( имейте в виду, что все задания в открытом университете представляются онлайн). Во всяком случае, я думаю, что им это сойдет с рук, если они представят печатные копии. спасибо @ppolymorphe

Рейтинг:
0

OriginalGriff

Не используйте Linq-это хорошо, когда вы хотите сделать то же самое со всеми элементами последовательности, но бесполезно, когда вы хотите, чтобы первый обрабатывался по-разному.
Вместо этого используйте регулярное выражение:

^[A-Z][a-z]+$
Должны делать это.


Member 13311188

регулярное выражение будет моей следующей темой для изучения, я все еще пытаюсь понять linq, на этот вопрос требуется ответить в linq

OriginalGriff

Так.
Это не "работа" - это "домашнее задание".
Не лги людям, это не делает нас такими, как ты.

Мы не делаем домашнее задание: оно задано не просто так. Она существует для того, чтобы вы думали о том, что вам сказали, и пытались понять это. Он также существует для того, чтобы ваш наставник мог определить области, в которых вы слабы, и сосредоточить больше внимания на корректирующих действиях.

Попробуйте сами, возможно, вы обнаружите, что это не так сложно, как вы думаете!

Если вы столкнетесь с конкретной проблемой, то, пожалуйста, спросите об этом, и мы сделаем все возможное, чтобы помочь. Но мы не собираемся делать все это для вас!

Member 13311188

это работа, я учусь на работу, репетитора и домашних заданий нет. 7 июня я закончил третий курс университета. это позиция стажера, я изо всех сил стараюсь узнать все, что могу, о C #, в университете я никогда не задавал ни одного вопроса, я обсуждал вопросы, которые у меня были с моими преподавателями и моими коллегами, вы действительно просто поняли одно слово «Изучите», чтобы связать это с домашним заданием, люди учатся по разным причинам, одна из них заключается в том, что у меня не было C # в моей учебной программе, а скорее Java. Я уже испытываю стресс, чтобы уточнить одно слово в моем комментарии. среди всех 5 категорий я ответил на все вопросы без проблем, даже лучше, чем мои коллеги, которые начали за несколько недель до меня. но спасибо за ваш отзыв о том, как обсуждать вопросы с моим учителем, я делал это годами.

OriginalGriff

"учеба" делает его домашним заданием!
Если мы делаем это для вас, вы ничему не учитесь - вы учитесь, делая, а не копируя. И мы не можем поддерживать вас на протяжении всей вашей карьеры разработчика C# - это вряд ли будет справедливо, учитывая, что вы будете получать зарплату, а мы будем выполнять работу.
Если только вы не солгали, чтобы получить работу, и не сказали, что знаете C#, когда вы этого не сделали, ваш работодатель должен знать, что знание любого языка .NET language from scratch занимает в лучшем случае около полугода - фреймворк огромен, а опыт работы с Java совсем не помогает.

Member 13311188

У меня есть 2 недели, чтобы написать коды для более чем 300 методов, я застрял с 22 из них. ваша помощь будет оценена по достоинству. Я уже смотрю учебники по linq, но он выглядит слишком массивным, чтобы справиться с ним за 2 или 3 дня. после того, как я преодолею эту часть, будет еще 3 месяца интенсивных тренировок.