이 문제를 조사했지만 상황에 따라 틀린 것 같습니다.이름 '[insert name]'이 (가) 현재 컨텍스트에 존재하지 않습니다.
필자는 내 작업 중 하나에서 Windows Form 응용 프로그램 (Visual Studio 2008의 C#)을 작성했으며 지금은 몇 달이 지나면 다시 돌아오고 있습니다. 이 오류가 왜 저를 혼란스럽게하는지에 앞서 제대로 구축하고 실행하고있었습니다. 나는 파일이나 그런 종류의 것을 잃어 버렸을지도 모른다는 걱정이있다.
private void label1_Click(object sender, EventArgs e)
{
//Change progressBar label
label1.Text = progressBar1.Value.ToString();
label1.Text += "%";
//Check if any virtual parameters exist
foreach (string word in backgroundWords)
{
if (word == "Derived Table")
{
thereIsAVirtual = true;
break;
}
}
//Count occurences of "Parameters Table" for calculating ID
foreach (string word in backgroundWords)
{
if (word == "Parameters Table" && thereIsAVirtual)
countParametersTable = countParametersTable + 2;
else if (word == "Parameters Table" && !thereIsAVirtual)
countParametersTable++;
}
//Initialize ID
int ID = 1;
int IDforCounting = 1;
PrintData printDataObject = new PrintData();
//Search for Parameters Table and perform operation on sub-array between strings
const string separator = "Parameters Table";
// Get to the first separator
var cuttedWords = backgroundWords.SkipWhile(x => x != separator).Skip(1);
// Run as long as there is anything left to scan
int b = 0;
while (cuttedWords.Any())
{
// Take data from the last found separator until the next one, exclusively
var variable = cuttedWords.TakeWhile(x => x != separator).ToArray();
// Step through cuttedWords to update where the last found separator was
cuttedWords = cuttedWords.Skip(variable.Length + 1);
// Do what you want with the sub-array containing information
sortDataObject.SortDataMethod(variable, b);
//After searching for existence of one or more virtual parameters, print to file
if (sortDataObject.virtualPara)
{
if (!virtualParaUsed)
{
listOfNames = sortDataObject.findListOfNames(backgroundWords, ref IDforCounting, countParametersTable);
}
virtualParaUsed = true;
printDataObject.WriteFileVirtual(of.FileName, ID, sortDataObject.listNames[0], sortDataObject.listNames[1],
sortDataObject.unit, listOfNames, sortDataObject.virtualNames);
sortDataObject.virtualNames.Clear();
}
else
{
printDataObject.WriteFile(of.FileName, ID, sortDataObject.listNames[0], sortDataObject.listNames[1],
sortDataObject.unit, sortDataObject.hexValue[0], sortDataObject.stringShift, sortDataObject.sign,
sortDataObject.SFBinary[0], sortDataObject.wordValue, sortDataObject.conversions);
}
//Calculate and send progressBar value
decimal sum = ((decimal)IDforCounting)/countParametersTable * 100;
int sum2 = (int)sum;
backgroundWorker1.ReportProgress(sum2);
ID++;
IDforCounting++;
b++;
}
}
나는 다음과 같은 오류를 받고 있어요 :
가 이름 'backgroundWords'는 현재에 존재하지 않는 다음
내에서 Form1.cs의 섹션은 오류를 참조하는 것이 파일입니다 컨텍스트이것은 'listOfNames'가
미리 에 감사 'thereIsAVirtual', 'countParametersTable', 그리고에 대해 반복
여기서'backgroundWords'을 정의했는데, 어떤 선언도 볼 수 없습니다. – Habib
어디서 모두 정의 되었습니까? 나열된 모든 변수에 대해이 메소드의 범위 내에서 정의 된 변수가 표시되지 않습니다. – tnw
좋아, 그때 그들은 단지 정의 될 필요가 있다고 생각한다. 그게 몇 달 전에 떠났을 때 어떻게 그런 종류의 것이 쓰여지는지 상상할 수 없기 때문에 이상합니다. – user2340818