我们必须将我们的属性之一从可为空的整数更改为字符串。 在更改了类之后,我们得到了异常:
类型为'System.Int32'的对象不能转换为类型 'System.String'。
我们使用以下代码反序列化对象:
#include <cstdlib>
#include <ctime>
#include <cstring>
#include <iostream>
using namespace std;
int numbers;
int array[100];
void generator()
{
srand((unsigned)time(0));
for(int i = 0; i < 100; i++)
{
numbers = (rand() % 900000) + 100000;
array[i] = numbers;
cout << numbers << endl;
}
}
void sorted_list()
{
int i = 100, a, b, c;
for (a = 0; a < i - 1; a++)
{
for(b = 1; b < i; b++)
{
if (array[b] < array[b - 1])
{
c = array[b];
array[b]= array[b - 1];
array[b - 1]=c;
}
}
}
for (a = 0; a < i; a++)
{
cout << a << ": " << array[a] << "\n";
}
}
bool happyNr(int a){
if (a<100000 || a>999999) return false;
int half1=0, half2=0;
for (int i=0;i<6;i++){
if (i<3) {half1+=a%10; a=a/10;}
else {half2+=a%10; a=a/10;}
}
return half1==half2;
}
int menu()
{
int choice;
cout<<"\n_______________MENU_______________";
cout<<"\n 1. Generate random numbers";
cout<<"\n 2. Sorted array";
cout<<"\n 3. Happy numbers";
cout<<"\n 4. Exit";
do
{
cout<<"\n Choice: ";
cin>>choice;
}while(choice<1||choice>4);
return(choice);
}
int main()
{
int i;
do
{
i=menu();
switch(i)
{
case 1: generator();break;
case 2: sorted_list();break;
case 3: happyNr(i);break;
}
}
while(i!=4);
return 0;
}
使用旧对象最简单的方法是什么?
答案 0 :(得分:0)
尝试自定义属性:
public class MyClass
{
private string myString { get; set; }
public int MyInt
{
get { return int.Parse(myString); }
set { myString = value.ToString(); }
}
}