public partial class Form1 : Form
{
public Form1( )
{
InitializeComponent( ) ;
}
private void Form1_Shown( object sender, EventArgs e)
{
int count = 80 ;
DataGridViewColumn[ ] cols = new DataGridViewColumn[ count] ;
for ( int i = 0 ; i < count; ++ i)
{
cols[ i] = new DataGridViewTextBoxColumn( ) ;
}
dataGridView1.Columns .AddRange ( cols) ;
}
private void button1_Click( object sender, EventArgs e)
{
memoryLeakTest( ) ;
}
private void memoryLeakTest( )
{
//してもしなくても変わらなかったのでコメント化
//foreach (DataGridViewRow row in dataGridView1.Rows)
//{
// row.Dispose();
//}
dataGridView1.Rows .Clear ( ) ;
int dataCount = 300 ;
int colCount = dataGridView1.Columns .Count ;
DataGridViewRow[ ] rows = new DataGridViewRow[ dataCount] ;
for ( int i = 0 ; i < dataCount; ++ i)
{
DataGridViewRow row = new DataGridViewRow( ) ;
row.CreateCells ( dataGridView1) ;
for ( int j = 0 ; j < colCount; ++ j)
{
row.Cells [ j] .Value = $"{i}の{j}" ;
}
rows[ i] = row;
}
dataGridView1.Rows .AddRange ( rows) ;
}
}
ICAgIHB1YmxpYyBwYXJ0aWFsIGNsYXNzIEZvcm0xIDogRm9ybQogICAgewogICAgICAgIHB1YmxpYyBGb3JtMSgpCiAgICAgICAgewogICAgICAgICAgICBJbml0aWFsaXplQ29tcG9uZW50KCk7CiAgICAgICAgfQoKICAgICAgICBwcml2YXRlIHZvaWQgRm9ybTFfU2hvd24ob2JqZWN0IHNlbmRlciwgRXZlbnRBcmdzIGUpCiAgICAgICAgewogICAgICAgICAgICBpbnQgY291bnQgPSA4MDsKCiAgICAgICAgICAgIERhdGFHcmlkVmlld0NvbHVtbltdIGNvbHMgPSBuZXcgRGF0YUdyaWRWaWV3Q29sdW1uW2NvdW50XTsKCiAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY29sc1tpXSA9IG5ldyBEYXRhR3JpZFZpZXdUZXh0Qm94Q29sdW1uKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGRhdGFHcmlkVmlldzEuQ29sdW1ucy5BZGRSYW5nZShjb2xzKTsKICAgICAgICB9CgogICAgICAgIHByaXZhdGUgdm9pZCBidXR0b24xX0NsaWNrKG9iamVjdCBzZW5kZXIsIEV2ZW50QXJncyBlKQogICAgICAgIHsKICAgICAgICAgICAgbWVtb3J5TGVha1Rlc3QoKTsKICAgICAgICB9CgogICAgICAgIHByaXZhdGUgdm9pZCBtZW1vcnlMZWFrVGVzdCgpCiAgICAgICAgewogICAgICAgICAgICAvL+OBl+OBpuOCguOBl+OBquOBj+OBpuOCguWkieOCj+OCieOBquOBi+OBo+OBn+OBruOBp+OCs+ODoeODs+ODiOWMlgogICAgICAgICAgICAvL2ZvcmVhY2ggKERhdGFHcmlkVmlld1JvdyByb3cgaW4gZGF0YUdyaWRWaWV3MS5Sb3dzKQogICAgICAgICAgICAvL3sKICAgICAgICAgICAgLy8gICAgcm93LkRpc3Bvc2UoKTsKICAgICAgICAgICAgLy99CgogICAgICAgICAgICBkYXRhR3JpZFZpZXcxLlJvd3MuQ2xlYXIoKTsKCiAgICAgICAgICAgIGludCBkYXRhQ291bnQgPSAzMDA7CgogICAgICAgICAgICBpbnQgY29sQ291bnQgPSBkYXRhR3JpZFZpZXcxLkNvbHVtbnMuQ291bnQ7CgogICAgICAgICAgICBEYXRhR3JpZFZpZXdSb3dbXSByb3dzID0gbmV3IERhdGFHcmlkVmlld1Jvd1tkYXRhQ291bnRdOwoKICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBkYXRhQ291bnQ7ICsraSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgRGF0YUdyaWRWaWV3Um93IHJvdyA9IG5ldyBEYXRhR3JpZFZpZXdSb3coKTsKICAgICAgICAgICAgICAgIHJvdy5DcmVhdGVDZWxscyhkYXRhR3JpZFZpZXcxKTsKCiAgICAgICAgICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IGNvbENvdW50OyArK2opCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcm93LkNlbGxzW2pdLlZhbHVlID0gJCJ7aX3jga57an0iOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHJvd3NbaV0gPSByb3c7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGRhdGFHcmlkVmlldzEuUm93cy5BZGRSYW5nZShyb3dzKTsKICAgICAgICB9CiAgICB9Cg==
compilation info
Main.java:1: error: class, interface, or enum expected
public partial class Form1 : Form
^
Main.java:1: error: '{' expected
public partial class Form1 : Form
^
Main.java:50: error: ';' expected
row.Cells[j].Value = $"{i}?{j}";
^
3 errors
stdout