인사를 돌려주는 앱을 만들어 보았습니다.
13233 단어 VisualStudio콘솔 애플리케이션C#
소개
2017년경에 C#...라고 하는 것보다 Visual Studio 프로그래밍의 재활 목적으로 「인사를 돌려주는 어플」을 만들어 보았다…
당시 하고 싶었던 일
프로젝트 개요
1
2
프로젝트 템플릿
콘솔 앱(.NET Framework)
프로젝트 이름
HelloApp
프레임워크
.NET Framework 4.7.2
첫 시도
프로그램 거동
프로그램 거동
잘못된 코드
program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Halloman
{
class Program
{
static void Main(string[] args)
{
string yourname;
if (args.Length > 0) //引数が指定されていればyournameに代入
{
yourname = args[0];
}
Hello(yourname);
}
// 挨拶を表示する処理
private static void Hello(string name)
{
Console.WriteLine("Hello. {0}さん!", name);
}
}
}
집어 넣은 곳
Visual Studio에서 빌드 오류가 출력.
할당되지 않은 로컬 변수 yourname을 처리 할 수 없다고 말했기 때문에, 빌드 처리 = 컴파일을하기위한 조건이 갖추어지지 않았다고 오해한 채, 우선 미할당 변수를 어떻게든 하면 좋을까라고 텍토로 진행 버렸다. .
받은 조언
고민하고 있는 곳(부족한 지식)은 거기가 아니라고 어드바이스를 받지만, 당시 여러가지 한계를 넘고 있었기 때문에 「푹할 정도(잘 모르는)」상태.
텍토 수정을 실시해, 에러 회피해 무리하게 움직이는 것으로 해 버렸다.
텍토 수정
static void Main(string[] args)
{
string yourname = "太郎";
if (args.Length > 0) //引数が指定されていればyournameに代入
{
yourname = args[0];
}
Hello(yourname);
}
뭐 미할당 변수의 에러를 회피할 수 있게 되었으므로 디버그 빌드 처리는 진행되었다.
교환
프로그램의 거동을 다시 생각했다.
인수를 지정하지 않은 경우, 복수 인수를 지정하고 있었을 경우 등의 케이스가 전혀 만들어지지 않았기 때문에 처리를 추가.
첫 번째 리노베이션
돌진 커녕은 있지만, 개수 도중의 임시도 기재하고 있기 때문에, 여기에 대해서는 스루 해 주실 수 있으면 고맙다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HelloApp
{
class Program
{
static void Main(string[] args)
{
if (args.Length == 0)
{
ReturnError("挨拶する相手の名前がわかりません。");
}
if (args.Length > 0)
{
string yourname;
for (int ti=0; ti<args.Length; ti++)
{
yourname = args[ti];
SayHello(yourname);
}
}
}
// 挨拶を表示する処理
private static void SayHello(string name)
{
Console.WriteLine("Hello. {0}さん!", name);
}
private static void ReturnError(string message)
{
Console.WriteLine(message);
}
}
}
두 번째 리노베이션
아무래도 낭비가 많기 때문에 처리의 생각을 바꾸어 보았다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HelloApp
{
class Program
{
static void Main(string[] args)
{
// 挨拶を返す処理はMainに書かずに関数に書くようにした
if (args.Length == 0)
{
Console.WriteLine("挨拶する相手の名前がわかりません。");
} else
{
SayHello();
}
}
// 挨拶を表示する処理
private static void SayHello()
{
string[] yourname = System.Environment.GetCommandLineArgs();
for (int ti = 1; ti < yourname.Length; ti++)
{
Console.WriteLine("Hello. {0}さん!", yourname[ti]);
}
}
}
}
요약
지금 생각해 보면 반성 점 많다 ·
사과
또, 다시 시작하기 전의 기사를 실수로 갱신해 버렸기 때문에 스쿠쇼를 이월하는 형태로 했습니다.
gentaro 미안해.
참고
Reference
이 문제에 관하여(인사를 돌려주는 앱을 만들어 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/elu_jaune/items/2f89e5d10d8ef7908e70텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)