What is the equivalent of raster save using ArcGIS Pro SDK C#
Arcpy Code
in_raster <SPAN class="operator token">=</SPAN> Raster<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'c:/data/inraster'</SPAN><SPAN class="punctuation token">)</SPAN>
new_raster<SPAN class="punctuation token">.</SPAN>save<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'c:/output/outraster1'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN></SPAN>
Given this example here - Executing Spatial Analyst Tools Using ArcGIS Pro SDK
Typically you could just set the output raster in the Value Array, as done here
<SPAN class="keyword token">var</SPAN> valueArray <SPAN class="operator token">=</SPAN> Geoprocessing<SPAN class="punctuation token">.</SPAN><SPAN class="token function">MakeValueArray</SPAN><SPAN class="punctuation token">(</SPAN>maExpression<SPAN class="punctuation token">,</SPAN> outRaster<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> gpresult1 <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">await</SPAN> Geoprocessing<SPAN class="punctuation token">.</SPAN><SPAN class="token function">ExecuteToolAsync</SPAN><SPAN class="punctuation token">(</SPAN>RasterCalculator_sa<SPAN class="punctuation token">,</SPAN> valueArray<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN></SPAN>
However that changes, if the tool you are running does not have an output raster that you can set. The CutFill Spatial Analyst returns a raster, but I would like to save that raster somewhere instead of using CopyRaster.
for example, Cut Fill (Spatial Analyst)—ArcGIS Pro | Documentation
<SPAN class="keyword token">var</SPAN> valueArray <SPAN class="operator token">=</SPAN> Geoprocessing<SPAN class="punctuation token">.</SPAN><SPAN class="token function">MakeValueArray</SPAN><SPAN class="punctuation token">(</SPAN>inputRasterOne<SPAN class="punctuation token">,</SPAN> inputRasterTwo<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> gpresult1 <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">await</SPAN> Geoprocessing<SPAN class="punctuation token">.</SPAN><SPAN class="token function">ExecuteToolAsync</SPAN><SPAN class="punctuation token">(</SPAN>CutFill_sa<SPAN class="punctuation token">,</SPAN> valueArray<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN></SPAN>
UPDATE
based on my friend's answer Gintautas Kmieliauskas,
the correct solution is to put the output raster in the value array.
For my example, I referenced ArcGIS 9.3 Cut Fill and followed the same and it worked.
<SPAN class="keyword token">var</SPAN> valueArray <SPAN class="operator token">=</SPAN> Geoprocessing<SPAN class="punctuation token">.</SPAN><SPAN class="token function">MakeValueArray</SPAN><SPAN class="punctuation token">(</SPAN>inputRasterOne<SPAN class="punctuation token">,</SPAN> inputRasterTwo<SPAN class="punctuation token">,</SPAN> outputRaster<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> gpresult1 <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">await</SPAN> Geoprocessing<SPAN class="punctuation token">.</SPAN><SPAN class="token function">ExecuteToolAsync</SPAN><SPAN class="punctuation token">(</SPAN>CutFill_sa<SPAN class="punctuation token">,</SPAN> valueArray<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN></SPAN>